Xamarin.iOS-发布应用-无效的Swift支持-文件...不匹配

时间:2018-08-17 10:42:20

标签: ios xcode xamarin xamarin.ios

我正在发布我的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。

发布步骤:

  1. 构建存档

  2. 使用需求设置配置文件构建ipa

  3. 解压缩my.IPA

  4. 使用脚本(https://github.com/bq/ipa-packager

  5. 新的.ipa从应用程序加载程序上传到App Connect

有人对此有任何想法吗? 感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果ipa-packager脚本在创建的'SwiftSupport'文件夹中包含错误版本的Swift文件,就会发生这种情况。这将导致.ipa(由VS构建)中的Swift版本与SwiftSupport文件夹(由脚本添加)中的.dylib文件不匹配。

解决方案是安装与您要定位的Swift版本捆绑在一起的XCode版本,然后在运行ipa-packager脚本之前,使用类似以下的命令切换用于命令行工具的XCode ,以便将正确版本的.dylib文件放入SwiftSupport文件夹中:

sudo xcode-select -switch /Applications/Xcode5.1.1/Xcode.app