[TIMOB-24376] Hyperloop: iOS - third party libraries are not getting added to build
GitHub Issue | n/a |
Type | Bug |
Priority | None |
Status | Closed |
Resolution | Duplicate |
Resolution Date | 2017-03-03T14:48:32.000+0000 |
Affected Version/s | Release 6.0.0, Release 6.0.1 |
Fix Version/s | n/a |
Components | iOS |
Labels | hyperloop-documentation |
Reporter | Neeraj Mishra |
Assignee | Neeraj Mishra |
Created | 2017-02-07T00:10:23.000+0000 |
Updated | 2017-03-22T22:22:13.000+0000 |
Description
Problem Description:
Facing Issue while accessing third party lib localytics and call its native APIs on iOS using hyper loop.
Steps to Reproduce:
1. Added the podfile (attached)
2. Importing the library like below :
var localytics = require('Localytics')
Unable to reproduce exact customer issue. When we use podfile provided by customer and sample code at our end, it builds fine but as soon as the app launches, app is crashing.
The customer reported error:
Script Error Couldn't find module: /hyperloop/localytics/localytics for architecture: x86_64
Our results:
Crash report attached. There is no error message in console except crash file path.
Attachments
The Localytics SDK is a dynamic framework which is not supported by Hyperloop yet. We will be adding support for dynamic frameworks in an upcoming version of Hyperloop. In the meantime I would suggest to use the static library which is available via CocoaPods:
pod 'LocalyticsStaticFramework', '~> 4.2'
. Unfortunately this is currently also affected by TIMOB-24009 so they would need to wait for Hyperloop 2.0.1 to use the Localytics SDK.[~jvennemann]: Thanks for the comment. Quick question: Would the same applicable for android as well while using localytics jar? customer sees issue there as well, though it is a different.
Android is completely different so i'd say to open a different issue for that with complete logs and error description.
Resolving as Duplicate of TIMOB-23570 which will fix this as well. As a workaround, refer to the static library of the SDK which already is supported for this specific use-case. Thx!
[~nmishra], correct, Hyperloop 2.0.1 (which includes TIMOB-24009) is required to use the Localytics static framework. Also note that the method is called
autoIntegrateLaunchOptions
:Thanks for confirming [~jvennemann]. But in Localytics documentation I do not find the above method "autoIntegrateLaunchOptions", I only find autoIntegrate at https://docs.localytics.com/dev/ios.html#initialize-sdk-ios
The example shows:
Javascript does not have the concept of named parameters, which is why the method name translates to the following with Hyperloop:
The parameter names will be concatenated using camel case resulting in the JS method name.
[~jvennemann]: Thanks for clarification. We will suggest to customer to use it this way once Hyperloop 2.0.1 is out because I guess even this one won't work until we use Hyperloop 2.0.1
Closing ticket as duplicate and links to the related ticket have been provided above.