Xamarin.iOS 部署时遇到 OneSignal 问题

Xamarin.iOS getting issues with OneSignal when deploying

我在将 OneSignal 与我的 Xamarin.IOS 应用程序集成时遇到问题。我从头开始创建和应用程序,然后按照他们网站上的 sdk 指南进行操作,但是,在我尝试部署到我的苹果设备后添加 SDK 后,我收到以下错误。

部署到模拟器时不会发生这种情况,我已经尝试了两种不同的 Apple 设备。

Error Screenshot

更新

问题似乎出在我的 mono 框架版本上。我使用 Visual studio 进行 mac 预览,它使用单声道版本 4.8,但是,它仍然在 alpha 分支中。

然后我使用 Xamarin Studio 并将单声道降级到 4.6(稳定构建)并且一切正常。

您似乎正在使用 iOS 本机库(.a 文件)中的 OSNotificationPayload class。该错误意味着没有为当前架构加载库。 由于它在模拟器上工作,.a 仅适用于模拟器。

您可以使用 Lipo 命令验证这一点:

 lipo -info YourLibrary.a

为设备和模拟器获取 .a 文件并从中生成 fat 库并使用它。它将解决您的问题。

这是创建通用 FAT 库的命令 - 从 here:

复制
lipo -create -output libMyLibrary.a libMyLibrary-i386.a libMyLibrary-arm64.a libMyLibrary-armv7.a