我一直在努力处理 Visual Studio for Mac 上的build设置,以便在 iTunes Connect 上创建一个工作构建,在我通过 Test Flight 安装应用程序后,它不会崩溃。这是我遇到的不同行为,具体取决于build设置/配置以及我是否正在部署到真实设备或 iOS 模拟器:
- 通过这些设置,应用程序可以在 iOS 模拟器的 RELEASE 模式下完美运行。
现在针对真实 iPhone 作为平台进行设置:
- 我使用了与“Release/iPhoneSimulator”完全相同的build设置(异常(exception)情况是“Supported Architectures”,因为 iPhone 的唯一选择是 ARM64
,而 iOS Simulator 的唯一选择是 x86_64
)
该应用程序可以正常加载,但我从主页打开的大约一半 NavController 部分会使该应用程序崩溃。同样,该应用在具有相同发布build设置的 iOS 模拟器上运行良好。
如果我选中“启用特定于设备的构建”,然后重新部署到我的手机,那么一切都会再次正常运行!但是有警告不要在 Release模式下使用此设置。同样,仅选中(启用)此框将防止我的应用程序在物理 iPhone 上以 Release模式崩溃。
-如果我确实启用了特定于设备的构建并使用这些工作build设置创建了一个包,上传到 iTunes Connect 并通过 Test Flight 在我的手机上安装该应用程序,那么同样的崩溃将再次发生。
如何在 Release模式下调试这样的行为?我知道该应用可以正常运行,但为什么我需要打开“启用特定于设备的构建”才能使其正常运行?
任何帮助将不胜感激。提前感谢您抽出时间。
最佳答案
- 首先,您能否检查链接行为?在我看来,问题就在这里。 设置不链接并检查结果。如果一切都好的话。您需要阅读以下文章:msdn
- 其次,如何在 Release模式下进行调试。您可以使用 AppCenter(HockeyApp) 崩溃分析(对我来说效果很好)。
关于ios - 无法编译工作 Xamarin.iOS 仅在 iTunes Connect 上构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54909722/