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

标签 ios swift xamarin xamarin.ios app-store-connect

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

Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

我正在使用 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 手动打包

第二个建议没有给出不同的回应。 使用 IPA Packager 给出了来自 iTunes Store 的以下响应:

Invalid Swift Support - The files 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 don’t match /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/libswiftPhotos.dylib, /Payload/App.iOS.app/Frameworks/libswiftObjectiveC.dylib, /Payload/App.iOS.app/Frameworks/libswiftCoreMedia.dylib, /Payload/App.iOS.app/Frameworks/libswiftUIKit.dylib. Make sure the files are correct, rebuild your app, and resubmit it. Don’t apply post-processing to /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/libswiftPhotos.dylib, /Payload/App.iOS.app/Frameworks/libswiftObjectiveC.dylib, /Payload/App.iOS.app/Frameworks/libswiftCoreMedia.dylib, /Payload/App.iOS.app/Frameworks/libswiftUIKit.dylib.

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

This bundle is invalid - Your archive contains paths that are not allowed: ( "AppThinning.plist" )

我不知道如何解决这个问题。如此接近发布应用程序,然后在流程的最后一步为此苦苦挣扎,这种感觉很奇怪。

最佳答案

要在每次构建时手动修复此问题,您需要执行以下操作:

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

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

注意:我使用的是 Visual Studio for Mac Community 7.3.2(内部版本 12)。

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

关于ios - Xamarin.iOS - 发布应用程序 - 无效的 Swift 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46998402/

相关文章:

ios - 使用 Xamarin.Forms 在 iOS NavigationBar 中显示 "Back to Menu"按钮

ios - 选择 uitableview 单元格并使用 UISearchController 时关闭键盘

c# - 如何在 xamarin android 中扩展应用程序类

ios - 音频数据的均衡器

ios - 使用 convertRect 获取 subview 的窗口坐标问题

xcode - 在 Swift 中以编程方式切换 View

ios - 使 UILabel 很好地适合 Collection View Cell

ios - 为什么设备在后台收不到推送通知?

xamarin.ios - 我如何从按钮调用异步方法

java - IKVMC,单声道 : ClassCastException while deserialization