Xamarin.iOS - 发布应用程序 - 无效的Swift支持

问题描述 投票:4回答:2

我一直在努力发布我的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

我尝试了以下建议:

  1. IPA Packager (also Auto Packager)
  2. 使用this guide手动包装

第二个建议没有给出不同的回应。使用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 enter image description here发布时,这给出了另一个结果:

此捆绑包无效 - 您的归档包含不允许的路径:(“AppThinning.plist”)

我没有想法如何解决这个问题。如此接近于发布应用程序,然后在流程的最后一步中与此斗争,这是一种奇怪的感觉。

ios swift xamarin xamarin.ios itunesconnect
2个回答
5
投票

要为每个版本手动修复此问题,您需要执行以下操作:

  1. 存档您的应用程序以进
  2. 弹出Archives窗口时,在Finder中转到它(右键单击它并选择“在Finder中显示”)。
  3. 当Finder出现时,我们需要访问存档的内容(右键单击并选择“显示包内容”)。
  4. 在存档包的内部,创建一个名为“SwiftSupport”的文件夹。
  5. 在软件包内部导航到“Product / Applications / YourAppName.app / Frameworks”(您需要右键单击.app并选择“Show Package Contents”)。
  6. 复制Frameworks目录中的所有swift“.dylib”文件。
  7. 导航回“SwiftSupport”并粘贴这些复制的库。
  8. 现在启动Xcode并加载管理器(窗口 - >管理器)。
  9. 在档案馆和“上传到App Store ...”中找到您的应用。

我只能使用Xcode Organizer工作,使用Xamarin总是失败。

注意:我使用的是Visual Studio for Mac社区7.3.2(版本12)。

这是从我的答案here复制而来的。


1
投票

好的,所以我解决了我的问题。事实证明,Xamarin尚未提供对Swift绑定的支持。我正在使用的库(Xamarin.iOS.CameraViewController)使用的是使用Xamarin.Swift3.Support的Swift绑定。但是,此版本不适用于Xcode 9.0.1,因为Xcode根据Xamarin.Swift3.Support的作者更改了每个版本的Swift库的结构。

我删除了Xamarin.iOS.CameraViewController和所有Xamarin.Swift3引用和应用程序完成处理。

© www.soinside.com 2019 - 2024. All rights reserved.