【问题标题】:Xamarin App fails to start on iOS <= 10: "Unable to bootstrap process with bundleID..."Xamarin 应用程序无法在 iOS <= 10 上启动:“无法使用 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。
  • 那么,这就是原因?

标签: ios xamarin xamarin.ios ios-app-signing


【解决方案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 位设备的用户,你也可以忽略这篇文章和这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    相关资源
    最近更新 更多