Experience XCode - chaolunner/CloudNotes GitHub Wiki

XCode下载

怎么获取Apple Beta版的软件

怎么安装IPSW文件

  • 下载
  • 连接你的iPhone或iOS设备到你的电脑
  • 用iTunes选择你的设备
  • 在Mac上,按住Option+Alt键的同时鼠标点击Check for Update
  • 在Windows上,按住SHIFT键的同时鼠标点击Check for Updat
  • 选中你下载的IPSW文件并点击Choose
  • 让设备自动安装就可以了

Xcode build with exportOptionsPlist

  • exportOptionsAdHoc.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>method</key>
      <string>ad-hoc</string>
    </dict>
    </plist>
    
  • exportOptionsRelease.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>method</key>
      <string>app-store</string>
    </dict>
    </plist>
    
  • xcodebuild -exportArchive

    AdHoc
    xcodebuild -exportArchive -archivePath ~/Desktop/build/AdHoc/AdHoc.xcarchive -exportPath ~/Desktop/build/AdHoc -exportOptionsPlist ~/Desktop/build/AdHoc/exportOptionsAdHoc.plist
    
    Release
    xcodebuild -exportArchive -archivePath ~/Desktop/build/Release/Release.xcarchive -exportPath ~/Desktop/build/Release -exportOptionsPlist ~/Desktop/build/Release/exportOptionsRelease.plist
    
    Folders and Files on my desktop:
    build
      AdHoc
        AdHoc.xcarchive
        exportOptionsAdHoc.plist
      Release
      exportOptionsRelease.plist
      Release.xcarchive
    
    
    All Available keys for -exportOptionsPlist:
    
      compileBitcode : Bool
    
        For non-App Store exports, should Xcode re-compile the app from bitcode? Defaults to YES.
    
      embedOnDemandResourcesAssetPacksInBundle : Bool
    
        For non-App Store exports, if the app uses On Demand Resources and this is YES, asset packs are embedded in the app bundle so that the app can be tested without a server to host asset packs. Defaults to YES unless onDemandResourcesAssetPacksBaseURL is specified.
    
      iCloudContainerEnvironment
    
        For non-App Store exports, if the app is using CloudKit, this configures the "com.apple.developer.icloud-container-environment" entitlement. Available options: Development and Production. Defaults to Development.
    
      manifest : Dictionary
    
        For non-App Store exports, users can download your app over the web by opening your distribution manifest file in a web browser. To generate a distribution manifest, the value of this key should be a dictionary with three sub-keys: appURL, displayImageURL, fullSizeImageURL. The additional sub-key assetPackManifestURL is required when using on demand resources.
    
      method : String
    
        Describes how Xcode should export the archive. Available options: app-store, ad-hoc, package, enterprise, development, and developer-id. The list of options varies based on the type of archive. Defaults to development.
    
      onDemandResourcesAssetPacksBaseURL : String
    
        For non-App Store exports, if the app uses On Demand Resources and embedOnDemandResourcesAssetPacksInBundle isn't YES, this should be a base URL specifying where asset packs are going to be hosted. This configures the app to download asset packs from the specified URL.
    
      teamID : String
    
        The Developer Portal team to use for this export. Defaults to the team used to build the archive.
    
      thinning : String
    
        For non-App Store exports, should Xcode thin the package for one or more device variants? Available options: <none> (Xcode produces a non-thinned universal app), <thin-for-all-variants> (Xcode produces a universal app and all available thinned variants), or a model identifier for a specific device (e.g. "iPhone7,1"). Defaults to <none>.
    
      uploadBitcode : Bool
    
        For App Store exports, should the package include bitcode? Defaults to YES.
    
      uploadSymbols : Bool
    
        For App Store exports, should the package include symbols? Defaults to YES.
    

发布版本时遇到的一些问题

  • 问题 1:This bundle is invalid. The key UIRequiredDeviceCapabilities in the Info.plist may not contain values that would prevent this application from running on devices that were supported by previous versions.

    原因:在你的应用程序进入商店后你将无法对 UIRequiredDeviceCapabilities 进行修改

    解决:可以用 Xcode 打开新旧版本,并找到Required device capabilities项进行对比,使新版与旧版保持一致

      如果你的新版本在 Required device capabilities 中添加有 metal 而旧版本中却没有,有可能是 Unity 升级导致 Graphics API 改变引起,
      
      可以尝试在 Unity 的 Player Settings -> Other Settings 中取消选择 Auto Graphics API 并添加 OpenGLES3 和 OpenGLES2 在 Metal 之后
    
⚠️ **GitHub.com Fallback** ⚠️