示例 Xamarin 应用程序在 iPhone 模拟器上崩溃

Sample Xamarin App Crashes on iPhone Simulator

我有以下问题。我下载了 this 个示例项目。 我主要在 Windows 10 上开发,但是对于 iOS 部分,我从 macinthecloud.com

购买了 VM

我有一个真正的 iPhone 设备,但是由于我们使用 VM 我无法连接它,或者它太 complicated/expensive。我的目标是创建 ipa/zip 文件,稍后我可以通过 Appium 将其用于 UI 测试。我购买了 Apple Developer Account 并能够创建一个 ipa 文件。

它安装在模拟器上,但是如果您尝试 运行 它,它会立即崩溃。我阅读了我能找到的所有内容,有些人认为构建架构可能是错误的。此 MacOS VM 的唯一可用选项是 ARM64。 模拟器调试日志显示以下错误:

Nov 10 10:13:06 DXU684 com.apple.CoreSimulator.SimDevice.AEDE77F9-AFD7-4788-9F69-9FB6FA9CDF54[63635] (com.apple.videosubscriptionsd[64306]): Service exited with abnormal code: 1
Nov 10 10:13:08 DXU684 com.apple.CoreSimulator.SimDevice.AEDE77F9-AFD7-4788-9F69-9FB6FA9CDF54[63635] (UIKitApplication:com.xamarin.standardcontrols[0x2a65][63661][64308]): Program specified by service does not contain any valid architectures for this system.

你能建议我如何处理这个问题吗?我需要 运行 通过 Appium 安装模拟器上的 Xamarin 应用程序(进展顺利,猜测是构建设置的主要问题)

Program specified by service does not contain any valid architectures for this system.

在 IPA 构建中,没有 x86_64 选项,因为没有基于 x86 的 iOS 设备,只有基于 ARM 的设备。

你可以做的是为 simulator/x86_64 和 drag/drop 构建生成的 .app 到模拟器(或通过 xcrun simctl install... 安装,这是每个人都使用的(Appium , Xamarin, ...) 用于控制模拟器)。

bin/iPhoneSimulator目录下生成.app,示例如下:

├── bin
│   └── iPhoneSimulator
│       └── Debug
│           ├── device-builds
│           │   ├── iphone11.4-12.0
│           │   │   ├── ios_XXXX.app
│           │   └── iphone11.4-12.1
│           │       ├── ios_XXXX.app

注意:建筑通过Xcode 10.1 / iOS 12.1 / Xamarin.iOS 12.2.?.?将产生一个 .app,当通过 drag/drop 安装时会产生 .plist 错误,但通过 simctl 安装时则不会。这不会发生在早期的 Xamarin.iOS 12.x 版本中,并且 "assume" 这是一个 Xamarin 错误,因为与 Xcode 构建(simctl似乎不关心,但模拟器 GUI 关心...)