2016-12-30 96 views
1

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

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

Error Screenshot

更新

这个问题似乎是与我的版本的单框架。我正在使用Visual Studio for mac预览,它使用单声道版本4.8,但是,这仍然在alpha分支。

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

+0

请不要张贴错误,截图,粘贴错误的文字。这使得搜索错误的人可以找到这个问题,并且还可以更容易地搜索错误。另外,你能提供一个MCVE(最小的,完整的,可验证的例子吗?)http://stackoverflow.com/help/mcve – jgoldberger

+0

你已经使用Native Libray桥吗?请确保使用的静态库是FAT库,而不仅仅是模拟器。 – Darshana

+0

嗨,谢谢你的回复,这是我在StackOverflow上的第一篇文章,所以在未来我会让我的帖子对搜索的人更有用 –

回答

0

看来你是从iOS本机库(.a文件)使用OSNotificationPayload类。该错误意味着该库未被加载用于当前体系结构。 由于其在模拟器上的工作,.a仅适用于模拟器。

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

lipo -info YourLibrary.a 

获取设备和模拟器都某文件并从它产生的脂肪库,并使用它。它会解决你的问题。

这里就是命令来创建通用FAT库 - 从here复制:

lipo -create -output libMyLibrary.a libMyLibrary-i386.a libMyLibrary-arm64.a libMyLibrary-armv7.a 
+1

感谢上述,它证明是有用的,并且实际上解决了我遇到的其他问题,然而,当我将我的单声道版本降级到4.6的稳定版本时,这个特定问题自行解决 –