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

时间:2017-10-29 08:54:46

标签: ios swift xamarin xamarin.ios itunesconnect

我一直在努力发布我的iOS应用以供审核,但出现以下错误:

  

无效的Swift支持 - 缺少SwiftSupport文件夹。使用当前公共(GM)版本的Xcode重建您的应用程序并重新提交。

我使用Xamarin.iOS开发此应用程序,如果我使用Visual Studio签名和导出IPA或者如果我使用Xcode发布,我会收到上述错误。

工具版本:

  • Xcode 9.0.1
  • Visual Studio Enterprise 2017 for Mac 7.2
  • Xamarin.iOS 11.2.0.11

我尝试了以下建议:

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

    第二个建议并没有给出不同的回应。 使用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 / Framerame / libswiftCoreLocation.dylib,/ Payload / App.iOS.app / Frameworks / libswiftCore.dylib,/ Payload / App.iOS.app / Frameworks / libswiftCoreImage .dylib,/ Payload / App.iOS.app / Frame / libswiftDispatch.dylib,/ Payload / App.iOS.app / Framerame / libswiftPhotos.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 / Frame / libswiftUIKit.dylib。

    从Xcode发布时,我也试过发布应用程序而不剥离Swift符号 enter image description here 这给出了另一个结果:

      

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

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

2 个答案:

答案 0 :(得分:5)

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

  1. 归档您的应用以进行发布。
  2. 当弹出档案窗口时,在Finder中转到它(右键单击它并选择"在Finder中显示")。
  3. 当Finder出现时,我们需要访问存档的内容(右键单击并选择"显示包内容")。
  4. 在档案包的内部,创建一个名为" SwiftSupport"的文件夹。
  5. 在软件包内导航到"产品/应用程序/ YourAppName.app /框架" (您需要右键单击.app并选择"显示包装内容")。
  6. 复制所有swift" .dylib" Frameworks目录中的文件。
  7. 导航回" SwiftSupport"并粘贴那些复制的库。
  8. 现在启动Xcode并加载管理器(窗口 - >管理器)。
  9. 在档案馆中找到您的应用程序"上传到App Store ..."。
  10. 我只能使用Xcode Organizer工作,使用Xamarin总是失败。

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

    这是从我找到的答案here中复制的。

答案 1 :(得分:1)

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

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