zoukankan      html  css  js  c++  java
  • App Submission Issues

    查看原文: http://leancodingnow.com/app-submission-issues/

    I bet many iOS developers are busy submitting apps to the App Store lately after fixing issues on iOS 9. This blog post just listed the issues I came across lately when submitting apps to App Store.

    1. I was using Xcode 7 GM to submit one app, which uses Carthage and Realm. Here is error message:

    Unsupported architectures. The executable for xxxx/Realm.framework contains unsupported architectures [x86_64, i386]

    Unsupported architectures. The executable for xxxx/RealmSwift.framework contains unsupported architectures [x86_64, i386]

    The reason is that dynamic library has i386 or x86_64 code and we cannot embed them in the app, so we need to strip out any non-arm code from the app.

    After some research I found the script from this blog, just go to the tab page "Build Phases" of the app target in Xcode, add a "New Run Script Phase", copy the script and paste there, archive your app then it should work. Here is the script:

    APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
    
    # This script loops through the frameworks embedded in the application and
    # removes unused architectures.
    find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK  
    do  
        FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
        FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
        echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
    
        EXTRACTED_ARCHS=()
    
        for ARCH in $ARCHS
        do
            echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
            lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
            EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
        done
    
        echo "Merging extracted architectures: ${ARCHS}"
        lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
        rm "${EXTRACTED_ARCHS[@]}"
    
        echo "Replacing original executable with thinned version"
        rm "$FRAMEWORK_EXECUTABLE_PATH"
        mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
    
    done  
    

      

    2.I was using Xcode 7 GM to submit one iPad app, which just supports landscape orientation, then encountered this error:

    Invalid Bundle. iPad Multitasking support requires these orientations...

    Invalid Bundle. iPad Multitasking support requires launch story board in bundle 'com.xxx....'

    iPad Multitasking support requires all the orientations but the app does not, so we need to opt out it, just add the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES.

    3.I was using Xcode 6.4 to submit one app, but got the following warning message after submitting the app to App Store.

    Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement.

    Actually the app does not have any push notification code. Then I tried to resubmit the app using Xcode 7 and there is no warning anymore. It might be a bug that is also mentioned on StackOverflow.

    其它博文:

    More blog posts on http://leancodingnow.com/ 

    欢迎关注我的微信公众号

     

    Hope this helps, 
    Michael 

  • 相关阅读:
    读书笔记4瞬时相应网站的高性能架构
    读书笔记3大型网站的架构要素
    读书笔记2大型网站的架构模式
    可用的rtmp卫视直播地址
    html中的特殊符号表示法
    深入理解JS原型链与继承
    css3 media媒体查询器用法总结
    HTML条件注释用法诠释
    jQuery中$符号冲突问题 (转载)
    JS 输出对象的属性以及方法[转载]
  • 原文地址:https://www.cnblogs.com/mobilegeek/p/4851883.html
Copyright © 2011-2022 走看看