Xamarin 应用程序无法在 iOS <= 10 上启动:“无法使用 bundleID 引导进程...”

Posted

技术标签:

【中文标题】Xamarin 应用程序无法在 iOS <= 10 上启动:“无法使用 bundleID 引导进程...”【英文标题】:Xamarin App fails to start on iOS <= 10: "Unable to bootstrap process with bundleID..." 【发布时间】:2020-11-23 13:13:19 【问题描述】:

我的应用程序在 ios 11 及更高版本上运行良好,但在 iOS 9 和 10 上失败。如果同事正在构建它,它适用于所有 iOS 版本。如果我构建它,它不会。这是我在控制台中得到的:

[com.blablafy.ios.blablapay] 引导失败并出现错误:

with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.blablafy.ios.blablapay" UserInfo=BSErrorCodeDescription=bootstrap-failed, NSLocalizedFailureReason=进程已经存在用于作业规范,NSLocalizedDescription=无法使用 bundleID com.blablafy.ios.blablapay

引导进程

我发现了一个类似的帖子,建议检查个人资料和证书。全部未过期!所有提到的证书的信任设置都是“使用系统默认值”。

我可以检查或做些什么来使它工作?

【问题讨论】:

您使用两台不同的计算机来运行同一个项目?尝试清理并重建您的项目。 @JackHua-MSFT 我已经删除了 bin 和 obj 文件夹并完全重新构建了项目,但问题仍然存在。 能否检查一下你项目中所有的nuget包版本是否和你同事的项目一样? @JackHua-MSFT 我的系统正在运行 NuGet 5.6.0.6591,而我的同事正在运行 NuGet 5.3.0.6192。 那么,这就是原因? 【参考方案1】:

我们最终发现它是 Xamarin.Forms.Visual.Material。微软的 Xamarin 团队帮助我们进行了调查,他们发现 Apple store 和 TestFlight 在将应用程序发送到 32 位 iPhone 时完全从应用程序中删除了所有本机框架,因此在启动时会崩溃。至少,这发生在 Xamarin.Forms.Visual.Material

不好的是,这只发生在使用 Testflight 或 App Store 分发的情况下。如果您手动将应用程序发送到设备(例如从 Visual Studio 调试)或使用 AdHoc 机制,它就像一个魅力。不幸的是,正因为如此,您可能在尝试分发它的最后阶段才意识到这个问题。

因此,解决方案是删除对 Xamarin.Forms.Visual.Material 的任何依赖,并删除像 FormsMaterial.Init() 这样的代码。

如果你打算忽略使用 32 位设备的用户,你也可以忽略这篇文章和这个问题。

【讨论】:

以上是关于Xamarin 应用程序无法在 iOS <= 10 上启动:“无法使用 bundleID 引导进程...”的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin:无法在 iOS 9.2.1 设备上运行应用程序

无法在 iOS 设备上为 Xamarin 应用程序运行 Calabash 测试

Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译

无法在 JetBrains Rider 的物理 iOS 设备上部署 Xamarin 应用程序

Xamarin - 无法通过 Android(和 iOS)访问本地 api

无法调试在 Xamarin.Forms 中制作的 IOS 应用程序