我刚刚在Swift 2中重新编写了一个应用程序 . 我正在尝试将应用程序上传到iTunesConnect(通过Xcode 7 GM)进行内部测试 .
我暂时与"Invalid Swift Support"错误搏斗(which has other, related questions)......但现在它变成了一些不同的东西 .
Apple的错误现在说:
Invalid Swift Support
文件libswiftCoreLocation.dylib,libswiftCoreMedia.dylib,libswiftCoreData.dylib,libswiftAVFoundation.dylib不匹配
/Payload/App.app/Frameworks/libswiftCoreLocation.dylib,/Payload/App.app/Frameworks/libswiftCoreMedia.dylib,/Payload/App.app/Frameworks/libswiftCoreData.dylib,/Payload/App.app/Frameworks/libswiftAVFoundation . dylib
Make sure the files are correct (?),重建您的应用,然后重新提交 .
不要对后处理进行处理
/Payload/App.app/Frameworks/libswiftCoreLocation.dylib,/Payload/App.app/Frameworks/libswiftCoreMedia.dylib,/Payload/App.app/Frameworks/libswiftCoreData.dylib,/Payload/App.app/Frameworks/libswiftAVFoundation . dylib .
通过搜索“不要应用后期处理”,“确保文件正确,重建您的应用程序,然后重新提交”等,我无法找到类似的错误 .
Does anyone know how I can "Make sure the files are correct" --or-- have any other recommendations? Thank you.
9 回答
同样的问题在这里我认为这很可能是开发人员工具中与Bitcode相关的错误 .
我刚刚找到了解决方法 .
使用新版本号存档您的应用:(
从管理器中查找Finder中的存档(.xcarchive文件)“在Finder中显示”
打开包并找到
Products/Applications/YourApp.ipa/Frameworks/
和SwiftSupport/iphoneos/
等目录Copy 所有
libswiftXxx.dylib
文件从SwiftSupport/iphoneos/
进入Products/Applications/YourApp.ipa/Frameworks/
并覆盖现在,从Organizer上传到App Store
通过这个过程,我成功上传了我的构建 . 现在我在等待审查 .
注意:
我正在使用CocoaPods,
ENABLE_BITCODE
选项是NO .Edit: CocoaPods 0.39.0 has been released which fixes this issue!
作为@orkenstein mentioned,a simpler solution通过在
Pod-frameworks.sh
中注释掉一些代码 . 我在这里提供了更多细节 .在Xcode项目目录中,打开
Pods/Target Support Files/Pods/Pods-frameworks.sh
注释掉以下几行:
=>
保存
Pods-frameworks.sh
,你应该好好去!此问题的修复程序已合并,并且可在最新的CocoaPods版本
0.39.0.beta.5
上找到https://github.com/CocoaPods/CocoaPods/pull/4268
要获取最新版本的CocoaPods,请运行
gem install cocoapods --pre
或者,按照说明运行未发布的功能:http://guides.cocoapods.org/using/unreleased-features
获得最新版本的CocoaPods后,再次运行
pod install
.我使用fastlane gym 1.9.0来构建我的应用程序并且它一直被苹果拒绝,因为文件不匹配,而如果我通过XCode 8上传则被接受 . 我检查了ipa的swift支持文件夹和Frameworks文件夹中的swift库,我发现swift支持文件夹中的库是swift 2.3,而在Frameworks文件夹中它是swift 3.所以在我的健身房文件中我添加了工具链选项:
*请注意,我必须将use_legacy_build_api更改为false才能使用工具链选项
在GitHub上找到了一个不太复杂的解决方案:
将您的cocoapods更新到最新版本,在终端中输入
sudo gem install cocoapods
.在项目目录下运行
pod update
.切记为所有pod设置 Enable Bitcode 为 NO 选项
Debug
选项 .已修复
问题已修复,因为
Pods-frameworks.sh
中的以下代码:改为:
我的解决方案:
我正在通过Cocoapods和Reveal使用Reveal来禁用Bitcode . 所以我只为Debug调整了Reveal(适用于任何其他Framwork):
因为我的Reveal现在只配置为Debug,所以我只为Debug调整了Bitcode .
有了这个设置一切正常,没有任何黑客......
我已经看到在集成不支持bitcode的库(例如当前稳定版本的New Relic)时会发生此错误 . 解决方案是要么删除库,禁用bitcode(可能无法提交到商店),或等待从您的图书馆供应商支持bitcode的更新二进制文件 .
我的错误是我用Adhoc配置文件而不是App Store配置文件构建,用于将spa上传到应用商店 .