首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无效的Swift支持-文件不匹配

无效的Swift支持-文件不匹配
EN

Stack Overflow用户
提问于 2015-09-11 23:01:56
回答 9查看 16.3K关注 0票数 116

我刚刚在Swift 2中重写了一个应用程序。我正在尝试将该应用程序上传到iTunesConnect (通过Xcode7 GM)进行内部测试。

我在一段时间内遇到了一个“无效的Swift支持”错误(which has other, related questions)……但现在它变成了一些不同的东西。

来自Apple的错误现在是这样的:

无效的Swift支持

文件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

确保文件是正确的 (?),重建你的应用程序,然后重新提交它。

不将后处理应用于

/Payload/App.app/Frameworks/libswiftCoreLocation.dylib,/Payload/App.app/Frameworks/libswiftCoreMedia.dylib,/Payload/App.app/Frameworks/libswiftCoreData.dylib,/Payload/App.app/Frameworks/libswiftAVFoundation.dylib.

通过搜索“不要应用后处理”、“确保文件是正确的、重新构建应用程序并重新提交”等,我无法找到类似的错误。

有没有人知道我如何“确保文件是正确的”--或者--还有其他建议吗?谢谢你,

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2015-09-12 12:12:00

这里也有同样的问题。我认为这很可能是开发人员工具的错误,与Bitcode相关。

我刚刚找到了解决这个问题的办法。

  1. 使用新的内部版本号存档您的应用程序:(
  2. 在组织者的查找器中查找存档(.xcarchive文件)“在查找器中显示”
  3. 打开软件包并查找目录,如Products/Applications/YourApp.ipa/Frameworks/SwiftSupport/iphoneos/
  4. Copy将所有libswiftXxx.dylib文件从SwiftSupport/iphoneos/上传到<代码>D14和从组织者上传到应用商店<代码>H217<代码>G218

通过这个过程,我成功地上传了我的构建。现在我正在等待审查。

注意:

我使用的是CocoaPods,而ENABLE_BITCODE选项是NO。

票数 82
EN

Stack Overflow用户

发布于 2015-09-20 12:08:23

编辑: 已发布,解决了此问题!

作为@orkenstein mentioned,可以通过注释掉Pod-frameworks.sh中的一些代码来实现a simpler solution。我在这里包含了更多的细节。

在Xcode项目目录中,打开Pods/Target Support Files/Pods/Pods-frameworks.sh

注释掉以下行:

代码语言:javascript
复制
# Embed linked Swift runtime libraries
local basename
basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u  && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
  echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
  rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
  code_sign_if_enabled "${destination}/${lib}"
done

=>

代码语言:javascript
复制
# Embed linked Swift runtime libraries
# local basename
# basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
# local swift_runtime_libs
# swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u  && exit ${PIPESTATUS[0]})
# for lib in $swift_runtime_libs; do
#   echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
#   rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
#   code_sign_if_enabled "${destination}/${lib}"
# done

保存Pods-frameworks.sh,您就可以开始工作了!

票数 49
EN

Stack Overflow用户

发布于 2015-09-30 12:03:55

此问题的修复程序已合并,并可在最新的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

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32526526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档