Xamarin.iOS - 发布应用程序 - 无效的Swift支持
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin.iOS - 发布应用程序 - 无效的Swift支持相关的知识,希望对你有一定的参考价值。
我一直在努力发布我的ios应用程序以进行审核,但出现以下错误:
无效的Swift支持 - 缺少SwiftSupport文件夹。使用当前公共(GM)版本的Xcode重建您的应用程序并重新提交。
我正在使用Xamarin.iOS来开发这个应用程序,如果我使用Visual Studio签名和导出IPA或者如果我使用Xcode发布,我会收到上述错误。
工具版本:
- Xcode 9.0.1
- 适用于Mac 7.2的Visual Studio Enterprise 2017
- Xamarin.iOS 11.2.0.11
我尝试了以下建议:
第二个建议没有给出不同的回应。使用IPA Packager从iTunes Store获得以下响应:
无效的Swift支持 - 文件libswiftAVFoundation.dylib,libswiftDarwin.dylib,libswiftQuartzCore.dylib,libswiftFoundation.dylib,libswiftCoreAudio.dylib,libswiftCoreGraphics.dylib,libswiftCoreLocation.dylib,libswiftCore.dylib,libswiftCoreImage.dylib,libswiftDispatch.dylib,libswiftPhotos.dylib, libswiftObjectiveC.dylib,libswiftCoreMedia.dylib,libswiftUIKit.dylib与/Payload/App.iOS.app/Frameworks/libswiftAVFoundation.dylib,/Payload/App.iOS.app/Frameworks/libswiftDarwin.dylib,/ Payload / App不匹配。 iOS.app/Frameworks/libswiftQuartzCore.dylib,/Payload/App.iOS.app/Frameworks/libswiftFoundation.dylib,/Payload/App.iOS.app/Frameworks/libswiftCoreAudio.dylib,/Payload/App.iOS.app/Frameworks /libswiftCoreGraphics.dylib,/Payload/App.iOS.app/Frameworks/libswiftCoreLocation.dylib,/Payload/App.iOS.app/Frameworks/libswiftCore.dylib,/Payload/App.iOS.app/Frameworks/libswiftCoreImage.dylib, /Payload/App.iOS.app/Frameworks/libswiftDispatch.dylib,/Payload/App.iOS.app/Frameworks/lib swiftPhotos.dylib,/ Payload / App.iOS.app / Framerame / libswiftObjectiveC.dylib,/ Payload / App.iOS.app / Frame / libswiftCoreMedia.dylib,/ Payload / App.iOS.app / Frameworks / libswiftUIKit.dylib。确保文件正确无误,重建您的应用程序,然后重新提交。不要将后处理应用于/Payload/App.iOS.app/Frameworks/libswiftAVFoundation.dylib,/Payload/App.iOS.app/Frameworks/libswiftDarwin.dylib,/Payload/App.iOS.app/Frameworks/libswiftQuartzCore .dylib,/ Payload / App.iOS.app / Frameworks / libswiftFoundation.dylib,/ Payload / App.iOS.app / Framerame / libswiftCoreAudio.dylib,/ Payload / App.iOS.app / Framerame / libswiftCoreGraphics.dylib,/ Payload /App.iOS.app/Frameworks/libswiftCoreLocation.dylib,/Payload/App.iOS.app/Frameworks/libswiftCore.dylib,/Payload/App.iOS.app/Frameworks/libswiftCoreImage.dylib,/Payload/App.iOS。 app / Frameworks / libswiftDispatch.dylib,/ Payload / App.iOS.app / Frameworks / libswiftPhotos.dylib,/ Payload / App.iOS.app / Frame / libswiftObjectiveC.dylib,/ Payload / App.iOS.app / Frameworks / libswiftCoreMedia .dylib,/ Payload / App.iOS.app / Frameworks / libswiftUIKit.dylib。
我还尝试发布应用程序而不剥离Swift符号,当从Xcode 发布时,这给出了另一个结果:
此捆绑包无效 - 您的归档包含不允许的路径:(“AppThinning.plist”)
我没有想法如何解决这个问题。如此接近于发布应用程序,然后在流程的最后一步中与此斗争,这是一种奇怪的感觉。
要为每个版本手动修复此问题,您需要执行以下操作:
- 存档您的应用程序以进
- 弹出Archives窗口时,在Finder中转到它(右键单击它并选择“在Finder中显示”)。
- 当Finder出现时,我们需要访问存档的内容(右键单击并选择“显示包内容”)。
- 在存档包的内部,创建一个名为“SwiftSupport”的文件夹。
- 在软件包内部导航到“Product / Applications / YourAppName.app / Frameworks”(您需要右键单击.app并选择“Show Package Contents”)。
- 复制Frameworks目录中的所有swift“.dylib”文件。
- 导航回“SwiftSupport”并粘贴这些复制的库。
- 现在启动Xcode并加载管理器(窗口 - >管理器)。
- 在档案馆和“上传到App Store ...”中找到您的应用。
我只能使用Xcode Organizer工作,使用Xamarin总是失败。
注意:我使用的是Visual Studio for Mac社区7.3.2(版本12)。
这是从我的答案here复制而来的。
好的,所以我解决了我的问题。事实证明,Xamarin尚未提供对Swift绑定的支持。我正在使用的库(Xamarin.iOS.CameraViewController)使用的是使用Xamarin.Swift3.Support的Swift绑定。但是,此版本不适用于Xcode 9.0.1,因为Xcode根据Xamarin.Swift3.Support的作者更改了每个版本的Swift库的结构。
我删除了Xamarin.iOS.CameraViewController和所有Xamarin.Swift3引用和应用程序完成处理。
以上是关于Xamarin.iOS - 发布应用程序 - 无效的Swift支持的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.iOS - 错误 ITMS-90502:捆绑包无效
Xamarin.iOS - 错误ITMS-90502:无效的捆绑包
“无效的 Swift 支持”在 Xamarin.iOS 中使用本机 Swift 库
将应用程序发布到 AppStore Xamarin.iOS 构建时出错