我有一个使用Xcode 7.2在Swift 2.1.1中开发的iOS应用程序。该应用程序运行完美,Xcode创建存档没有问题,但在将其上传到应用程序商店(iTunes Connect)后,我收到以下错误:
错误ITMS-90207:"无效的捆绑包。在我的应用名称.app' 不包含可执行文件。"
我已经尝试过任何我能找到的建议,但没有任何改进。我该如何解决这个问题?我怎样才能找到原因?有解决方法吗?
我使用CocoaPods的多个库,我的Podfile:
platform :ios, '8.0'
use_frameworks!
target 'My App Name' do
pod 'RealmSwift'
pod 'SwiftDateExtension'
pod "JDFTooltips"
end
target 'My App NameTests' do
pod 'RealmSwift'
end
我的Info.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>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Text removed</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Text removed</string>
<key>UILaunchStoryboardName</key>
<string>Launch Screen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
我尝试了我能找到的任何建议,包括:
答案 0 :(得分:1)
原来NSHumanReadableCopyright
打破了Info.plist。完全从Info.plist中删除密钥解决了问题(仅删除©字符是不够的)。
我认为对于遇到类似问题的任何人来说,尝试使用默认的,未经修改的Info.plist提交存档以查看是否有效是一个公平的建议。根据我的经验,您可以根据需要提交多次,所以请不要犹豫实验。
我添加了密钥,因为Apple建议在他们的文档中这样做:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW29。 当他们无法解释Info.plist时,他们的验证过程会破坏并指向可执行文件,这似乎很奇怪和愚蠢。