ios - 无法编译工作 Xamarin.iOS 仅在 iTunes Connect 上构建

标签 ios xamarin xamarin.ios

我一直在努力处理 Visual Studio for Mac 上的build设置,以便在 iTunes Connect 上创建一个工作构建,在我通过 Test Flight 安装应用程序后,它不会崩溃。这是我遇到的不同行为,具体取决于build设置/配置以及我是否正在部署到真实设备或 iOS 模拟器:

iOS Sim build settings page - 通过这些设置,应用程序可以在 iOS 模拟器的 RELEASE 模式下完美运行。

现在针对真实 iPhone 作为平台进行设置: iPhone device build settings - 我使用了与“Release/iPhoneSimulator”完全相同的build设置(异常(exception)情况是“Supported Architectures”,因为 iPhone 的唯一选择是 ARM64,而 iOS Simulator 的唯一选择是 x86_64 )

  • 该应用程序可以正常加载,但我从主页打开的大约一半 NavController 部分会使该应用程序崩溃。同样,该应用在具有相同发布build设置的 iOS 模拟器上运行良好。

  • 如果我选中“启用特定于设备的构建”,然后重新部署到我的手机,那么一切都会再次正常运行!但是有警告不要在 Release模式下使用此设置。同样,仅选中(启用)此框将防止我的应用程序在物理 iPhone 上以 Release模式崩溃。 enable device specific builds checkbox

-如果我确实启用了特定于设备的构建并使用这些工作build设置创建了一个包,上传到 iTunes Connect 并通过 Test Flight 在我的手机上安装该应用程序,那么同样的崩溃将再次发生。

如何在 Release模式下调试这样的行为?我知道该应用可以正常运行,但为什么我需要打开“启用特定于设备的构建”才能使其正常运行?

任何帮助将不胜感激。提前感谢您抽出时间。

最佳答案

  1. 首先,您能否检查链接行为?在我看来,问题就在这里。 设置不链接并检查结果。如果一切都好的话。您需要阅读以下文章:msdn
  2. 其次,如何在 Release模式下进行调试。您可以使用 AppCenter(HockeyApp) 崩溃分析(对我来说效果很好)。

关于ios - 无法编译工作 Xamarin.iOS 仅在 iTunes Connect 上构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54909722/

相关文章:

ios - 如何在静态 UITableViewCell 上使用 UITapGestureRecognizer?

ios - Spritekit场景 anchor 影响子节点定位

xamarin.ios - 获取 Monotouch.Dialog UIViewElement 的宽度?

ios - Xamarin.iOS 绑定(bind)库/ native 框架

Xamarin 表格 : getting the Invalid update: invalid number of rows in section 0 in iOS

ios - 正确管理 NSURLSession 的建议

ios - Apple tvOS 中的视频下载

heroku - HttpClient PostAsync 在 Xamarin.Forms 上失败(状态代码 : 404)

c# - 在 Windows Phone 8.1 中初始化 XLabs

xamarin - 为什么在 Xamarin.Forms Shell 中使用 ShellSection 时弹出窗口中不显示分隔符?