问题
I am building an Appcelerator module, that requires 3rd party frameworks to be included. I read the documentation and tried to follow it perfectly with little success.
The app id is com.example.app The version is 1.0
The frameworks are located in iphone/platform. The module.xconfig is as follows:
FRAMEWORK_SEARCH_PATHS=$(SRCROOT)/../../modules/iphone/com.example.app/1.0/platform /Library/Application\ Support/Titanium/modules/iphone/com.example.app/1.0/platform ~/Library/Application\ Support/Titanium/modules/iphone/com.example.app/1.0/platform
OTHER_LDFLAGS=$(inherited) -framework NBiometricClient -framework NBiometrics -framework NCluster -framework NCore -framework NDevices -framework NLicensing -framework NMedia -framework NMediaProc
All of my classes are included in my target. the module builds without warning or error in XCode. I can publish it without error in Appcelerator. When i launch a simple test application, to see if the module will load, it builds successfully, and then crashes immediately. Appcelerator refrences a crash log, which reads as follows:
Application Specific Information:
dyld: launch, loading dependent libraries
DYLD_FALLBACK_LIBRARY_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib
DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
DYLD_FALLBACK_FRAMEWORK_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks
DYLD_SHARED_REGION=avoid
Dyld Error Message:
Library not loaded: @rpath/NBiometricClient.framework/NBiometricClient
Referenced from: /Users/USER/Library/Developer/CoreSimulator/Devices/95DD514F-E8D1-4982-B845-6CAC27369DC8/data/Containers/Bundle/Application/355A1ABF-7036-4285-90B5-96C8F88DAD36/testHarness.app/testHarness
Reason: image not found
Binary Images:
0x10bb29000 - 0x10c1fffff +com.testHarness (1.1 - 1.1) <4F498C98-61BA-3ED7-99B5-F2F9649FD94A> /Users/USER/Library/Developer/CoreSimulator/Devices/95DD514F-E8D1-4982-B845-6CAC27369DC8/data/Containers/Bundle/Application/355A1ABF-7036-4285-90B5-96C8F88DAD36/testHarness.app/testHarness
0x10c571000 - 0x10c59825f +dyld_sim (360.19) <0BF161D7-EFA9-3CBE-AE2B-84F9A70FC853> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/dyld_sim
0x7fff624c8000 - 0x7fff624ff007 dyld (360.19) <9D05FDF4-65CE-3B53-86D4-ABE1A5BF35F3> /usr/lib/dyld
The frameworks were added to XCode directly from the platform folder of the module.
Please let me know what else to check or let me know what I should share to get this resolved.
回答1:
Did you make sure to place the framework in <your_module>/platform
and referenced it from their inside your Xcode project? Check ti.googlemaps where I'm doing the same with the GoogleMaps.framework.
来源:https://stackoverflow.com/questions/36509647/appcelerator-ios-module-crashes-with-3rd-party-framework