Xamarin iOS 绑定构建没有错误,但在启动时崩溃且没有输出

Xamarin iOS binding builds with no errors, but crashes at start up with no output

我已经从两个本机库(ios 和 Android)中创建了一个统一的 API,名为 Adob​​e 的 AccessEnabler。现在 Android 绑定有效,没问题。然而 iOS 有问题。绑定项目构建并没有问题,但是当我将它添加到我的示例(或任何示例)时,测试应用程序构建并编译。但是当我启动应用程序时,它只是在启动时崩溃而没有任何输出。我必须深入研究 Mac 上的控制台日志才能找到这个:

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries
DYLD_FALLBACK_LIBRARY_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib
DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
DYLD_FALLBACK_FRAMEWORK_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks

Dyld Error Message:
  Library not loaded: @rpath/AccessEnabler.framework/AccessEnabler
  Referenced from: /Users/USER/Library/Developer/CoreSimulator/Devices/E4B4E1EE-EA10-4E82-AD1E-2E8F3FD5BB79/data/Containers/Bundle/Application/47241A8D-5E85-4E8A-990C-387A1FF4E493/AccessEnablerSample.iOS.app/AccessEnablerSample.iOS
  Reason: image not found

Binary Images:
       0x10cf84000 -        0x10d4e7ff3 +com.golfchannel.AccessEnablerSample (1.0 - 1.0) <EB64A6F8-4E10-352A-9E9E-C75EE2D5A7EF> /Users/USER/Library/Developer/CoreSimulator/Devices/E4B4E1EE-EA10-4E82-AD1E-2E8F3FD5BB79/data/Containers/Bundle/Application/47241A8D-5E85-4E8A-990C-387A1FF4E493/AccessEnablerSample.iOS.app/AccessEnablerSample.iOS
       0x10d8c0000 -        0x10d8f3757 +dyld_sim (551.1) <A356F82B-146B-353D-9FC1-250800B6B67C> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/dyld_sim
       0x1153d2000 -        0x11541cacf  dyld (551.4) <8A72DE9C-A136-3506-AA02-4BA2B82DCAF3> /usr/lib/dyld

我浏览了所有关于绑定过程的 Xamarin 文档以及此处和 Xamarin 论坛上的无数线程,但一无所获。大多数错误都指向 iOS 系统未嵌入框架的问题。

要添加,我尝试了(.framework 和.a)两种方式以及手动添加或在 "Native References" 部分中添加。更糟糕的是,有一个旧版本的 SDK 被另一位同事绑定了一段时间。但我需要使用最新的,因为他们在内部添加和重组了一些东西。

如有任何帮助,我们将不胜感激。

经过一段时间我终于解决了这个问题。通用框架没有用 Lipo 正确完成。绑定项目和主要项目构建没有问题,但在 运行 时崩溃了。解决方案是要么正确地获得一个通用框架,要么简单地单独绑定每个切片(设备或模拟器)。