[TIMOB-24242] iOS: Hyperloop does not pass search paths to metabase parser
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2017-03-02T14:56:07.000+0000 |
Affected Version/s | Hyperloop 2.0.0 |
Fix Version/s | Hyperloop 2.0.1 |
Components | Hyperloop, iOS |
Labels | n/a |
Reporter | Shuo Liang |
Assignee | Jan Vennemann |
Created | 2016-12-20T02:28:34.000+0000 |
Updated | 2017-03-16T18:36:09.000+0000 |
Description
*Steps to reproduce the behavior*
1. Create a simple classic project
2. Add following Podfile into root dir
install! 'cocoapods',
:integrate_targets => false
platform :ios, '10.0'
use_frameworks!
target 'ClassicHyperloop' do
pod 'GooglePlaces'
end
3. Add following code into app.js
var GooglePlaceClient = require('GooglePlaces/GMSPlacesClient');
4.Run the app
*Actual behavior*
The app will lead to crash
*Expected behavior*
The GooglePlace should work well.
*Additional notes*
Tried example code (GooglePlace Demo) inside GooglePlace Pod folder, run it on Xcode, and works well.
Ref Link about GooglePlaces
https://developers.google.com/places/ios-api/start
[~jvennemann] Looks like a duplicate of supporting the "use_frameworks" to me, can you validate? Thx!
[~hansknoechel], i think the
use_frameworks
is unrelated here since its not required to install the GooglePlaces pod. What i found is another block parsing issue in the Hyperloop metabase parser where a block argument gets resolved to the invalid typeint (*
causing the build to fail with the following error:[~sliang], is that the issue the customer is facing? I cannot view the linked issue and this ticket has no crash log attached.
[~jvennemann] Customer's error log
PR (master): https://github.com/appcelerator/hyperloop.next/pull/118 PR (2_0_X): https://github.com/appcelerator/hyperloop.next/pull/119
The above PRs fix the compile error. Tried the example code but ran into TIMOB-24383 when trying to access Places from
GMSPlaceLikelihoodList
. I'll further investigate the issue there.This also affects third party framework configurations as mentioned in TIMOB-24390. I'll update the PRs to also pass extra frameworks search paths with the
-F
flag which works exactly like passing extra header search paths.[~hansknoechel], both of the above PRs were updated to also pass framework search paths. The steps in the description of this ticket and from TIMOB-24390 can be used for testing.
Validated fix using this environment: NPM Version: 2.15.9 Node Version: 4.5.0 Mac OS: 10.12.3 Appc CLI: 6.1.0 Appc CLI NPM: 4.2.8 Appcelerator Studio, build: 4.8.1.201612050850 Xcode 8.2.1 iOS Device: 10 Hyperloop version 2.0.1 I built and ran the demo app that is written in the description. No crashes were seen, and no compilation or runtime errors were encountered. One note is that "use_frameworks!" is not yet supported, and was therefore removed from Podfile.