Xamarin.iOS - 发布应用程序 - 无效的 Swift 支持 - 文件......不匹配
Posted
技术标签:
【中文标题】Xamarin.iOS - 发布应用程序 - 无效的 Swift 支持 - 文件......不匹配【英文标题】:Xamarin.iOS - Publishing App - Invalid Swift Support - The files ... don’t match 【发布时间】:2018-08-17 10:42:20 【问题描述】:我正在发布我的 ios 应用以供审核,但返回错误:
无效的 Swift 支持 - 文件 libswiftDarwin.dylib, libswiftsimd.dylib、libswiftFoundation.dylib、libswiftDispatch.dylib、 libswiftObjectiveC.dylib、libswiftCoreAudio.dylib、 libswiftCoreLocation.dylib、libswiftCoreFoundation.dylib、 libswiftCoreGraphics.dylib、libswiftCoreData.dylib、 libswiftUIKit.dylib、libswiftQuartzCore.dylib、 libswiftCoreMedia.dylib, libswiftCoreImage.dylib, libswiftAVFoundation.dylib、libswiftCore.dylib、libswiftos.dylib、 libswiftMapKit.dylib、libswiftMetal.dylib 不匹配 /Payload/Project.IOS.app/Frameworks/libswiftDarwin.dylib, /Payload/Project.IOS.app/Frameworks/libswiftsimd.dylib, /Payload/Project.IOS.app/Frameworks/libswiftFoundation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftDispatch.dylib, /Payload/Project.IOS.app/Frameworks/libswiftObjectiveC.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreAudio.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreLocation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreFoundation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreGraphics.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreData.dylib, /Payload/Project.IOS.app/Frameworks/libswiftUIKit.dylib, /Payload/Project.IOS.app/Frameworks/libswiftQuartzCore.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreMedia.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreImage.dylib, /Payload/Project.IOS.app/Frameworks/libswiftAVFoundation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCore.dylib, /Payload/Project.IOS.app/Frameworks/libswiftos.dylib, /Payload/Project.IOS.app/Frameworks/libswiftMapKit.dylib, /Payload/Project.IOS.app/Frameworks/libswiftMetal.dylib。确保 文件正确,重建您的应用程序,然后重新提交。不要申请 后处理到 /Payload/Project.IOS.app/Frameworks/libswiftDarwin.dylib, /Payload/Project.IOS.app/Frameworks/libswiftsimd.dylib, /Payload/Project.IOS.app/Frameworks/libswiftFoundation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftDispatch.dylib, /Payload/Project.IOS.app/Frameworks/libswiftObjectiveC.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreAudio.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreLocation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreFoundation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreGraphics.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreData.dylib, /Payload/Project.IOS.app/Frameworks/libswiftUIKit.dylib, /Payload/Project.IOS.app/Frameworks/libswiftQuartzCore.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreMedia.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCoreImage.dylib, /Payload/Project.IOS.app/Frameworks/libswiftAVFoundation.dylib, /Payload/Project.IOS.app/Frameworks/libswiftCore.dylib, /Payload/Project.IOS.app/Frameworks/libswiftos.dylib, /Payload/Project.IOS.app/Frameworks/libswiftMapKit.dylib, /Payload/Project.IOS.app/Frameworks/libswiftMetal.dylib.
发布步骤:
构建存档
使用需要配置文件构建 ipa
解压my.IPA
使用脚本 (https://github.com/bq/ipa-packager)
新的 .ipa 从 Application Loader 上传到 App Connect
有人对如何做到这一点有任何想法吗? 感谢您的帮助!
【问题讨论】:
【参考方案1】:如果 ipa-packager 脚本在它创建的“SwiftSupport”文件夹中包含错误版本的 Swift 文件,就会发生这种情况。这将导致 .ipa 中的 Swift 版本(由 VS 构建)与 SwiftSupport 文件夹中的 .dylib 文件(由脚本添加)不匹配。
解决方案是安装与您的目标 Swift 版本捆绑在一起的 XCode 版本,然后在运行 ipa-packager 脚本之前使用如下命令切换命令行工具使用的 XCode ,以便将正确版本的 .dylib 文件放在 SwiftSupport 文件夹中:
sudo xcode-select -switch /Applications/Xcode5.1.1/Xcode.app
【讨论】:
以上是关于Xamarin.iOS - 发布应用程序 - 无效的 Swift 支持 - 文件......不匹配的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.iOS - 错误 ITMS-90502:捆绑包无效
Xamarin.iOS - 错误ITMS-90502:无效的捆绑包
“无效的 Swift 支持”在 Xamarin.iOS 中使用本机 Swift 库
将应用程序发布到 AppStore Xamarin.iOS 构建时出错