我需要为具有许多依赖项的 Xamarin.iOS 绑定库,例如 Firebase/Core 和 Firebase/Messaging。
在该文档之后,我创建了一个代理项目,生成了胖版本,使用 Sharpie 创建了 ApiDefinitions,在 Visual Studio for Mac 中生成了带有绑定项目的 dll,最后在成功构建的 Xamarin.iOS 项目中使用了它。
但是,该应用程序在启动时崩溃,在任何模拟器或真正的 iPhone 上,并带有以下日志:
-CMSessionMgr- CMSessionMgrHandleApplicationStateChange: CMSession: Client com.maxim.myapp2 with pid '372' is now Foreground Running. Background entitlement: NO ActiveLongFormVideoSession: NO WhitelistedLongFormVideoApp NO
-CMSessionMgr- CMSessionMgrHandleApplicationStateChange: CMSession: Sending EndInterruption to com.maxim.myppev2 with pid '372' because client moved to ForegroundRunning and is not allowed to play in the background
[application<com.maxim.myappev2>:372] Death sentinel fired!
...
[application<com.maxim.myappev2>:372] Process exited: <RBSProcessExitContext; specific: <RBSProcessExitStatus; domain: signal (2); code: SIGSEGV (11)>>.
我认为它来自 Xamarin 不支持的 Enable Bitcode 选项。事实上,我绑定的库没有这个选项,但它的依赖项之一有:
iMac:Release-fat maxim$ otool -l FirebaseCore/FirebaseCore.framework/FirebaseCore | grep __LLVM
segname __LLVM
segname __LLVM
segname __LLVM
segname __LLVM
iMac:Release-fat maxim$
有没有机会我可以删除这个 Firebase 的本机依赖库并使用已经绑定的https://github.com/xamarin/GooglePlayServicesComponents/?请问我该怎么办?