I have created a unified API out of two native libraries (ios and Android) called AccessEnabler from Adobe. Now the Android binding works, no problem. The iOS one however has issues. The binding project builds and complies with no issues, but when i add it to my sample (or any sample), the test app builds and compiles. But when i start the application, it just crashes at start-up with no outpout. I have to go digging into my console logs on my Mac to find this:
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
Ive gone over all the Xamarin docs on the binding process and countless of threads here and on Xamarin Forums, but nothing. Most errors point to something involving the iOS system not embedding the framework.
To add, ive tried both the (.framework and .a) ways as well as adding it manually or in the "Native References" section. To make things worse, there is an older version of the SDK that was binded by another co-worker a while back that works. But i need to use the most recent as they have added and restructured some things internally.
Any help would be greatly appreciated.
I have finally solved this after some time. The universal framework wasnt done properly with Lipo. The binding project and main projects built no problem, but at run time crashed. Solution was to either properly get a universal framework and simply bind each slice (device or simulator) individually.