{ "id": "154846", "key": "TIMOB-20381", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "11258", "description": "Holding Pen for Triaged Issues", "name": "Backlog", "archived": false, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-01-29T22:44:19.000+0000", "created": "2016-02-10T19:35:47.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "18322", "name": "Release 5.5.1", "archived": false, "released": true, "releaseDate": "2016-09-28" } ], "issuelinks": [], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-29T21:57:37.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h6.Issue Description\r\nWe're trying to use a third party framework from Wowza to extend our application with video recording functionality. Release shows now be 64-bit compatible but upon module building works for armv7, i386, and arm64 but not x86_64. \r\n\r\nArchitectures were added to manifest according [module development guide|http://docs.appcelerator.com/platform/latest/#!/guide/iOS_Module_64-bit_Support-section-43291229_iOSModule64-bitSupport-Modulebuildingforarmv7,i386,andarm64butnotx86_64]. \r\n{code}\r\n$ xcrun lipo -info build/libcom.janx.wowza.a \r\nArchitectures in the fat file: build/libcom.janx.wowza.a are: armv7 i386 x86_64 arm64 \r\n{code}\r\n\r\nh6.Stack Trace\r\n{code}\r\n[TRACE] : Ld build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156 normal i386\r\n[TRACE] : cd /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone\r\n[TRACE] : export IPHONEOS_DEPLOYMENT_TARGET=7.1\r\n[TRACE] : export PATH=\"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/npm/bin\"\r\n[TRACE] : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/lib -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSAnalytics -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSHTTPClient -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1 -F/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -filelist /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156.LinkFileList -mios-simulator-version-min=7.1 -dead_strip -Xlinker -objc_abi_version -Xlinker 2 -ObjC -fobjc-link-runtime -stdlib=libc++ -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Case8156.app.xcent -weak_framework iAd -framework CoreMedia -weak_framework CoreMotion -lAPSAnalytics -weak_framework CoreText -framework EventKit -framework EventKitUI -weak_framework Security -licucore -framework Foundation -weak_framework UIKit -framework CoreGraphics -weak_framework AddressBook -framework AddressBookUI -framework CFNetwork -framework CoreLocation -weak_framework MapKit -framework MessageUI -framework MobileCoreServices -framework OpenGLES -framework QuartzCore -framework SystemConfiguration -lsqlite3 -lz -framework AudioToolbox -weak_framework MediaPlayer -framework AVFoundation -lxml2 -framework StoreKit -lAPSHTTPClient -framework ExternalAccessory -ltiverify -lcom.janx.wowza -Xlinker -dependency_info -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156_dependency_info.dat -o /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156\r\n[TRACE] : ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModule.o)) was built for newer iOS version (8.4) than being linked (7.1)\r\n[TRACE] : ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModuleAssets.o)) was built for newer iOS version (8.4) than being linked (7.1)\r\n[TRACE] : Undefined symbols for architecture i386:\r\n[TRACE] : \"_TiValueMakeNull\", referenced from:\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectMakeDate\", referenced from:\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueIsArray\", referenced from:\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueIsDate\", referenced from:\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiDebuggerStop\", referenced from:\r\n[TRACE] : -[TiApp dealloc] in TiApp.o\r\n[TRACE] : \"_TiDebuggerStart\", referenced from:\r\n[TRACE] : -[TiApp boot] in TiApp.o\r\n[TRACE] : \"_TiProfilerStart\", referenced from:\r\n[TRACE] : -[TiApp boot] in TiApp.o\r\n[TRACE] : \"_TiContextGroupCreate\", referenced from:\r\n[TRACE] : -[TiApp contextGroup] in TiApp.o\r\n[TRACE] : \"_TiContextGroupRetain\", referenced from:\r\n[TRACE] : -[TiApp contextGroup] in TiApp.o\r\n[TRACE] : \"_TiObjectIsFunction\", referenced from:\r\n[TRACE] : -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectGetPropertyAtIndex\", referenced from:\r\n[TRACE] : -[KrollObject removeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectSetPropertyAtIndex\", referenced from:\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject removeListener:forEvent:] in KrollObject.o\r\n[TRACE] : \"_TiPropertyNameArrayGetNameAtIndex\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : \"_kTiClassDefinitionEmpty\", referenced from:\r\n[TRACE] : -[KrollMethod init] in KrollMethod.o\r\n[TRACE] : +[KrollObject initialize] in KrollObject.o\r\n[TRACE] : \"_TiDebuggerLogMessage\", referenced from:\r\n[TRACE] : _TiLogMessage in TiBase.o\r\n[TRACE] : -[APIModule logMessage:severity:] in APIModule.o\r\n[TRACE] : \"_TiClassCreate\", referenced from:\r\n[TRACE] : -[KrollMethod init] in KrollMethod.o\r\n[TRACE] : +[KrollObject initialize] in KrollObject.o\r\n[TRACE] : \"_TiDebuggerEndScript\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : \"_TiValueToStringCopy\", referenced from:\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueIsNumber\", referenced from:\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : \"_TiPropertyNameArrayGetCount\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : \"_TiDebuggerDestroy\", referenced from:\r\n[TRACE] : -[KrollContext stop] in KrollContext.o\r\n[TRACE] : \"_TiObjectSetPrivate\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : \"_TiValueMakeNumber\", referenced from:\r\n[TRACE] : _MakeTimer in KrollContext.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiEvalScript\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollEval jsInvokeInContext:exception:] in KrollContext.o\r\n[TRACE] : \"_TiValueIsString\", referenced from:\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : \"_TiObjectGetPrivate\", referenced from:\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : _KrollCallAsFunction in KrollMethod.o\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _KrollFinalizer in KrollObject.o\r\n[TRACE] : _KrollDeleteProperty in KrollObject.o\r\n[TRACE] : _KrollInitializer in KrollObject.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiGlobalContextRelease\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : \"_TiValueMakeBoolean\", referenced from:\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueToNumber\", referenced from:\r\n[TRACE] : _ClearTimerCallback in KrollContext.o\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : _MakeTimer in KrollContext.o\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject removeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiValueIsObject\", referenced from:\r\n[TRACE] : -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : \"_TiValueMakeString\", referenced from:\r\n[TRACE] : _ThrowException in KrollContext.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiStringCopyCFString\", referenced from:\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _KrollDeleteProperty in KrollObject.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : _KrollSetProperty in KrollObject.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueToObject\", referenced from:\r\n[TRACE] : -[KrollCallback initWithCallback:thisObject:context:] in KrollCallback.o\r\n[TRACE] : -[KrollCallback call:thisObject:] in KrollCallback.o\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : _KrollHasInstance in KrollObject.o\r\n[TRACE] : -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiValueMakeUndefined\", referenced from:\r\n[TRACE] : _ThrowException in KrollContext.o\r\n[TRACE] : _ClearTimerCallback in KrollContext.o\r\n[TRACE] : _AlertCallback in KrollContext.o\r\n[TRACE] : _MakeTimer in KrollContext.o\r\n[TRACE] : _KrollCallAsFunction in KrollMethod.o\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiObjectDeleteProperty\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : -[KrollObject forgetObjectForTiString:context:] in KrollObject.o\r\n[TRACE] : \"_TiValueToBoolean\", referenced from:\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiDebuggerBeginScript\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : \r\n[TRACE] : Ld build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156 normal x86_64\r\n[TRACE] : cd /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone\r\n[TRACE] : export IPHONEOS_DEPLOYMENT_TARGET=7.1\r\n[TRACE] : export PATH=\"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/npm/bin\"\r\n[TRACE] : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/lib -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSAnalytics -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSHTTPClient -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1 -F/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -filelist /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156.LinkFileList -mios-simulator-version-min=7.1 -dead_strip -Xlinker -objc_abi_version -Xlinker 2 -ObjC -fobjc-link-runtime -stdlib=libc++ -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Case8156.app.xcent -weak_framework iAd -framework CoreMedia -weak_framework CoreMotion -lAPSAnalytics -weak_framework CoreText -framework EventKit -framework EventKitUI -weak_framework Security -licucore -framework Foundation -weak_framework UIKit -framework CoreGraphics -weak_framework AddressBook -framework AddressBookUI -framework CFNetwork -framework CoreLocation -weak_framework MapKit -framework MessageUI -framework MobileCoreServices -framework OpenGLES -framework QuartzCore -framework SystemConfiguration -lsqlite3 -lz -framework AudioToolbox -weak_framework MediaPlayer -framework AVFoundation -lxml2 -framework StoreKit -lAPSHTTPClient -framework ExternalAccessory -ltiverify -lcom.janx.wowza -Xlinker -dependency_info -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156_dependency_info.dat -o /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156\r\n[TRACE] : ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModule.o)) was built for newer iOS version (8.4) than being linked (7.1)\r\n[TRACE] : ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModuleAssets.o)) was built for newer iOS version (8.4) than being linked (7.1)\r\n[TRACE] : Undefined symbols for architecture x86_64:\r\n[TRACE] : \"_TiValueMakeNull\", referenced from:\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectMakeDate\", referenced from:\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueIsArray\", referenced from:\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueIsDate\", referenced from:\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiDebuggerStop\", referenced from:\r\n[TRACE] : -[TiApp dealloc] in TiApp.o\r\n[TRACE] : \"_TiDebuggerStart\", referenced from:\r\n[TRACE] : -[TiApp boot] in TiApp.o\r\n[TRACE] : \"_TiProfilerStart\", referenced from:\r\n[TRACE] : -[TiApp boot] in TiApp.o\r\n[TRACE] : \"_TiContextGroupCreate\", referenced from:\r\n[TRACE] : -[TiApp contextGroup] in TiApp.o\r\n[TRACE] : \"_TiContextGroupRetain\", referenced from:\r\n[TRACE] : -[TiApp contextGroup] in TiApp.o\r\n[TRACE] : \"_TiObjectIsFunction\", referenced from:\r\n[TRACE] : -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectGetPropertyAtIndex\", referenced from:\r\n[TRACE] : -[KrollObject removeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectSetPropertyAtIndex\", referenced from:\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject removeListener:forEvent:] in KrollObject.o\r\n[TRACE] : \"_TiPropertyNameArrayGetNameAtIndex\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : \"_kTiClassDefinitionEmpty\", referenced from:\r\n[TRACE] : -[KrollMethod init] in KrollMethod.o\r\n[TRACE] : +[KrollObject initialize] in KrollObject.o\r\n[TRACE] : \"_TiDebuggerLogMessage\", referenced from:\r\n[TRACE] : _TiLogMessage in TiBase.o\r\n[TRACE] : -[APIModule logMessage:severity:] in APIModule.o\r\n[TRACE] : \"_TiClassCreate\", referenced from:\r\n[TRACE] : -[KrollMethod init] in KrollMethod.o\r\n[TRACE] : +[KrollObject initialize] in KrollObject.o\r\n[TRACE] : \"_TiDebuggerEndScript\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : \"_TiValueToStringCopy\", referenced from:\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueIsNumber\", referenced from:\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : \"_TiPropertyNameArrayGetCount\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : \"_TiDebuggerDestroy\", referenced from:\r\n[TRACE] : -[KrollContext stop] in KrollContext.o\r\n[TRACE] : \"_TiObjectSetPrivate\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : \"_TiValueMakeNumber\", referenced from:\r\n[TRACE] : _MakeTimer in KrollContext.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiEvalScript\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollEval jsInvokeInContext:exception:] in KrollContext.o\r\n[TRACE] : \"_TiValueIsString\", referenced from:\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : \"_TiObjectGetPrivate\", referenced from:\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : _KrollCallAsFunction in KrollMethod.o\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _KrollFinalizer in KrollObject.o\r\n[TRACE] : _KrollDeleteProperty in KrollObject.o\r\n[TRACE] : _KrollInitializer in KrollObject.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiGlobalContextRelease\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : \"_TiValueMakeBoolean\", referenced from:\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueToNumber\", referenced from:\r\n[TRACE] : _ClearTimerCallback in KrollContext.o\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : _MakeTimer in KrollContext.o\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject removeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiValueIsObject\", referenced from:\r\n[TRACE] : -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : \"_TiValueMakeString\", referenced from:\r\n[TRACE] : _ThrowException in KrollContext.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiStringCopyCFString\", referenced from:\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _KrollDeleteProperty in KrollObject.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : _KrollSetProperty in KrollObject.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiValueToObject\", referenced from:\r\n[TRACE] : -[KrollCallback initWithCallback:thisObject:context:] in KrollCallback.o\r\n[TRACE] : -[KrollCallback call:thisObject:] in KrollCallback.o\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : _KrollHasInstance in KrollObject.o\r\n[TRACE] : -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiValueMakeUndefined\", referenced from:\r\n[TRACE] : _ThrowException in KrollContext.o\r\n[TRACE] : _ClearTimerCallback in KrollContext.o\r\n[TRACE] : _AlertCallback in KrollContext.o\r\n[TRACE] : _MakeTimer in KrollContext.o\r\n[TRACE] : _KrollCallAsFunction in KrollMethod.o\r\n[TRACE] : _KrollCallAsNamedFunction in KrollMethod.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiObjectDeleteProperty\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : -[KrollObject forgetObjectForTiString:context:] in KrollObject.o\r\n[TRACE] : \"_TiValueToBoolean\", referenced from:\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiDebuggerBeginScript\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : \"_TiObjectCopyPropertyNames\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : \"_TiStringCreateWithUTF8CString\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : -[KrollEval jsInvokeInContext:exception:] in KrollContext.o\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : _KrollPropertyNames in KrollObject.o\r\n[TRACE] : +[KrollObject initialize] in KrollObject.o\r\n[TRACE] : _TiStringCreateWithPointerValue in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiObjectCallAsFunction\", referenced from:\r\n[TRACE] : -[KrollCallback call:thisObject:] in KrollCallback.o\r\n[TRACE] : -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o\r\n[TRACE] : -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o\r\n[TRACE] : -[KrollTimer invokeWithCondition:] in KrollTimer.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_OBJC_CLASS_$_WowzaConfig\", referenced from:\r\n[TRACE] : objc-class-ref in libcom.janx.wowza.a(ComJanxWowzaModule.o)\r\n[TRACE] : \"_TiDebuggerCreate\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : \"_TiGlobalContextCreate\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : \"_TiContextGetGlobalContext\", referenced from:\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : _MakeTimer in KrollContext.o\r\n[TRACE] : \"_TiValueIsBoolean\", referenced from:\r\n[TRACE] : _StringFormatCallback in KrollContext.o\r\n[TRACE] : \"_TiProfilerEnable\", referenced from:\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : \"_TiValueProtect\", referenced from:\r\n[TRACE] : -[KrollCallback initWithCallback:thisObject:context:] in KrollCallback.o\r\n[TRACE] : -[KrollCallback call:thisObject:] in KrollCallback.o\r\n[TRACE] : -[KrollWrapper protectJsobject] in KrollCallback.o\r\n[TRACE] : -[KrollObject protectJsobject] in KrollObject.o\r\n[TRACE] : -[KrollTimer initWithContext:function:jsThis:duration:onetime:kroll:timerId:] in KrollTimer.o\r\n[TRACE] : \"_TiObjectMakeFunctionWithCallback\", referenced from:\r\n[TRACE] : -[KrollContext bindCallback:callback:] in KrollContext.o\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : -[KrollMethod jsvalueForUndefinedKey:] in KrollMethod.o\r\n[TRACE] : \"_TiObjectHasProperty\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : \"_TiPropertyNameAccumulatorAddName\", referenced from:\r\n[TRACE] : _KrollPropertyNames in KrollObject.o\r\n[TRACE] : \"_TiContextGetGlobalObject\", referenced from:\r\n[TRACE] : -[KrollBridge didStartNewContext:] in KrollBridge.o\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : -[KrollEval jsInvokeInContext:exception:] in KrollContext.o\r\n[TRACE] : -[KrollContext stop] in KrollContext.o\r\n[TRACE] : -[KrollContext bindCallback:callback:] in KrollContext.o\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : _TiBindingTiValueToNSObject in TiBindingTiValue.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiValueIsStrictEqual\", referenced from:\r\n[TRACE] : -[KrollObject isEqual:] in KrollObject.o\r\n[TRACE] : \"_TiObjectMakeError\", referenced from:\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectMake\", referenced from:\r\n[TRACE] : _KrollInitializer in KrollObject.o\r\n[TRACE] : -[KrollObject initWithTarget:context:] in KrollObject.o\r\n[TRACE] : -[KrollObject noteObject:forTiString:context:] in KrollObject.o\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : _TiBindingTiValueFromNSDictionary in TiBindingTiValue.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : _TiBindingTiValueFromProxy in TiBindingTiValue.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiObjectSetProperty\", referenced from:\r\n[TRACE] : -[KrollBridge didStartNewContext:] in KrollBridge.o\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o\r\n[TRACE] : -[KrollContext bindCallback:callback:] in KrollContext.o\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : _KrollInitializer in KrollObject.o\r\n[TRACE] : -[KrollObject noteObject:forTiString:context:] in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiPropertyNameArrayRelease\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _TiBindingTiValueToNSDictionary in TiBindingTiValue.o\r\n[TRACE] : \"_TiObjectMakeArray\", referenced from:\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : _TiBindingTiValueFromNSObject in TiBindingTiValue.o\r\n[TRACE] : \"_TiStringCreateWithCFString\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollBridge didStartNewContext:] in KrollBridge.o\r\n[TRACE] : -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o\r\n[TRACE] : _ThrowException in KrollContext.o\r\n[TRACE] : -[KrollEval jsInvokeInContext:exception:] in KrollContext.o\r\n[TRACE] : -[KrollContext bindCallback:callback:] in KrollContext.o\r\n[TRACE] : -[KrollMethod updateJSObjectWithValue:forKey:] in KrollMethod.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiObjectGetProperty\", referenced from:\r\n[TRACE] : -[KrollBridge require:path:] in KrollBridge.o\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : -[KrollContext main] in KrollContext.o\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o\r\n[TRACE] : -[KrollObject noteObject:forTiString:context:] in KrollObject.o\r\n[TRACE] : -[KrollObject forgetObjectForTiString:context:] in KrollObject.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiGarbageCollect\", referenced from:\r\n[TRACE] : -[KrollContext forceGarbageCollectNow] in KrollContext.o\r\n[TRACE] : \"_TiValueUnprotect\", referenced from:\r\n[TRACE] : -[KrollCallback dealloc] in KrollCallback.o\r\n[TRACE] : -[KrollCallback call:thisObject:] in KrollCallback.o\r\n[TRACE] : -[KrollWrapper unprotectJsobject] in KrollCallback.o\r\n[TRACE] : -[KrollUnprotectOperation main] in KrollContext.o\r\n[TRACE] : -[KrollObject unprotectJsobject] in KrollObject.o\r\n[TRACE] : -[KrollTimer main] in KrollTimer.o\r\n[TRACE] : _TiBindingEventDispose in TiBindingEvent.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiValueGetType\", referenced from:\r\n[TRACE] : -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o\r\n[TRACE] : -[KrollObject noteObject:forTiString:context:] in KrollObject.o\r\n[TRACE] : -[KrollObject forgetObjectForTiString:context:] in KrollObject.o\r\n[TRACE] : -[KrollObject objectForTiString:context:] in KrollObject.o\r\n[TRACE] : -[KrollObject storeListener:forEvent:] in KrollObject.o\r\n[TRACE] : -[KrollObject callbacksForEvent:] in KrollObject.o\r\n[TRACE] : _TiBindingEventProcess in TiBindingEvent.o\r\n[TRACE] : ...\r\n[TRACE] : \"_TiStringIsEqual\", referenced from:\r\n[TRACE] : _KrollGetProperty in KrollObject.o\r\n[TRACE] : _KrollSetProperty in KrollObject.o\r\n[TRACE] : \"_TiStringRelease\", referenced from:\r\n[TRACE] : -[KrollBridge evalFileOnThread:context:] in KrollBridge.o\r\n[TRACE] : -[KrollBridge didStartNewContext:] in KrollBridge.o\r\n[TRACE] : -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o\r\n[TRACE] : _GetKrollContext in KrollContext.o\r\n[TRACE] : _ThrowException in KrollContext.o\r\n[TRACE] : -[KrollEval jsInvokeInContext:exception:] in KrollContext.o\r\n[TRACE] : -[KrollContext bindCallback:callback:] in KrollContext.o\r\n[TRACE] : ...\r\n[TRACE] : ld: symbol(s) not found for architecture x86_64\r\n[TRACE] : clang: error: linker command failed with exit code 1 (use -v to see invocation)\r\n[TRACE] : Showing first 200 notices only\r\n[ERROR] : ** BUILD FAILED **\r\n[ERROR] : The following build commands failed:\r\n[ERROR] : \tLd build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156 normal x86_64\r\n[ERROR] : (1 failure)\r\n2016-02-10T19:16:26.721Z | TRACE | titanium exited with exit code 1\r\n2016-02-10T19:16:26.726Z | ERROR | Error: ti run exited with error code 1\r\n at ChildProcess. (/Users/egomez/.appcelerator/install/5.1.0/package/node_modules/appc-cli-titanium/plugins/run.js:92:66)\r\n at ChildProcess.emit (events.js:110:17)\r\n at Process.ChildProcess._handle.onexit (child_process.js:1074:12)\r\n2016-02-10T19:16:26.729Z | TRACE | Sending exit signal to titanium process: 18809\r\n{code}\r\n\r\nh6.Steps to reproduce\r\n1) Get module attached and extract it \r\n2) Run ./build.py\r\n3) Unzip generated module put into app/modules/iphone/ \r\n4) Run sample app having attached the module\r\n5) Notice stack trace ", "attachment": [ { "id": "58187", "filename": "Archive-2.zip", "author": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-10T19:35:19.000+0000", "size": 1084541, "mimeType": "application/zip" } ], "flagged": false, "summary": "iOS: Support Dynamic Libraries for module development", "creator": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "environment": "Node.js Version = 0.12.7\r\nnpm Version = 2.11.3\r\nTitanium CLI Version = 5.0.5\r\nnode-appc Version = 0.2.31\r\nTitanium SDK 5.1.2.GA & 5.1.1.GA\r\nXcode 7.2.1 (build 7C1002)", "closedSprints": [ { "id": 796, "state": "closed", "name": "2017 Sprint 02 SDK", "startDate": "2017-01-15T00:00:41.845Z", "endDate": "2017-01-29T00:00:00.000Z", "completeDate": "2017-01-30T21:10:44.640Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "376588", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Note that the above stack trace is derived from building an app integrated with the packaged module. calling build.py works fine. Appreciate if [~egomez] you could include steps to reproduce. it'll be easier for QE to test as well if there's a fix for this.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-11T04:48:54.000+0000", "updated": "2016-02-11T04:48:54.000+0000" }, { "id": "376589", "author": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Sure thing, just added the steps to reproduce [~cng], maybe libcom.janx.wowza.a its missing 64bit symbols even though shows as valid architecture.", "updateAuthor": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-11T05:06:42.000+0000", "updated": "2016-02-11T05:06:42.000+0000" }, { "id": "376659", "author": { "name": "joanxtb", "key": "joanxtb", "displayName": "Freddy Torres", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hey guys. Maybe this can help you figure out what's going on: this video was posted by a guy asking for help on a very similar issue \r\n\r\nhttps://www.youtube.com/watch?v=HHyqdg33sHw", "updateAuthor": { "name": "joanxtb", "key": "joanxtb", "displayName": "Freddy Torres", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-02-11T19:53:02.000+0000", "updated": "2016-02-11T19:53:02.000+0000" }, { "id": "376766", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~egomez] the {{module.xcconfig}} is not correct. All of the search paths _must_ be on the same line separated by an empty space. I like to place all the paths in quotes as well.\r\nReplace the content of the module.xcconfig with this:\r\n{code}\r\nFRAMEWORK_SEARCH_PATHS=\"$(SRCROOT)/../../modules/iphone/com.janx.wowza/1/platform\" \"/Library/Application\\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform\" \"~/Library/Application\\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform\"\r\nOTHER_LDFLAGS=$(inherited) -framework WowzaGoCoderSDK\r\n{code}", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-12T20:02:30.000+0000", "updated": "2016-02-12T20:02:30.000+0000" }, { "id": "376767", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "There is still an issue with this framework. This is a dynamic framework, in order to link it, you must add it to the \"Embed Frameworks\" section in the Xcode project. I'm looking for the compiler flag and see how we can do it without having to modify the Xcode project.", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-12T20:15:41.000+0000", "updated": "2016-02-12T20:15:41.000+0000" }, { "id": "377914", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "I was doing a diff between the Xcode project settings of a project with the dynamic library and an identical project without it. I saw a compiler flag called {{LD_RUNPATH_SEARCH_PATHS}}.\r\nSo then I went to the module and added that flag to the module.xcconfig file, make that path point to the {{FRAMEWORK_SEARCH_PATHS}}, like this:\r\n{code}\r\nLD_RUNPATH_SEARCH_PATHS=$(inherited) $(FRAMEWORK_SEARCH_PATHS)\r\n{code}\r\nI compiled the module, added to a Titanium project, and viola! it works!\r\nReplace the content of your module.xcconfig with the following:\r\n{code}\r\nFRAMEWORK_SEARCH_PATHS=\"$(SRCROOT)/../../modules/iphone/com.janx.wowza/1/platform\" \"/Library/Application\\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform\" \"~/Library/Application\\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform\"\r\nLD_RUNPATH_SEARCH_PATHS=$(inherited) $(FRAMEWORK_SEARCH_PATHS)\r\nOTHER_LDFLAGS=$(inherited) -framework WowzaGoCoderSDK\r\n{code}\r\n\r\nOn a side note, it is important to place all the paths to the same compiler flag in the same line, like I show in previous comment.", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-25T19:09:08.000+0000", "updated": "2016-02-25T19:09:08.000+0000" }, { "id": "405593", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "This is fixed and extended with additional handling like script-phases to strip fat frameworks, see [this repo|https://github.com/appcelerator-modules/hook-embedded-frameworks] for more infos.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-29T22:44:19.000+0000", "updated": "2017-01-29T22:44:19.000+0000" }, { "id": "416276", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-29T21:57:37.000+0000", "updated": "2017-03-29T21:57:37.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }