Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-24242] iOS: Hyperloop does not pass search paths to metabase parser

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2017-03-02T14:56:07.000+0000
Affected Version/sHyperloop 2.0.0
Fix Version/sHyperloop 2.0.1
ComponentsHyperloop, iOS
Labelsn/a
ReporterShuo Liang
AssigneeJan Vennemann
Created2016-12-20T02:28:34.000+0000
Updated2017-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

Comments

  1. Hans Knöchel 2016-12-20

    [~jvennemann] Looks like a duplicate of supporting the "use_frameworks" to me, can you validate? Thx!
  2. Jan Vennemann 2017-01-06

    [~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 type int (* causing the build to fail with the following error:
       [ERROR] ** BUILD FAILED **
       [ERROR] The following build commands failed:
       [ERROR]         CompileC build/Intermediates/googlevr.build/Debug-iphonesimulator/googlevr.build/Objects-normal/x86_64/googleplaces.o /Users/jvennemann/Development/appc/googlevr/build/hyperloop/ios/js/googleplaces/googleplaces.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
       [ERROR] (1 failure)
       
    [~sliang], is that the issue the customer is facing? I cannot view the linked issue and this ticket has no crash log attached.
  3. Shuo Liang 2017-01-06

    [~jvennemann] Customer's error log
       [ERROR] ** BUILD FAILED **
       [ERROR] The following build commands failed:
       [ERROR]         CompileC build/Intermediates/Jasons\ Deli.build/Debug-iphonesimulator/Jasons\ Deli.build/Objects-normal/x86_64/googleplaces.o /Users/brianknorr/Dev/jd-express-app/build/hyperloop/ios/js/googleplaces/googleplaces.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
       [ERROR] (1 failure)
       
  4. Jan Vennemann 2017-02-02

    PR (master): https://github.com/appcelerator/hyperloop.next/pull/118 PR (2_0_X): https://github.com/appcelerator/hyperloop.next/pull/119
  5. Jan Vennemann 2017-02-08

    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.
  6. Jan Vennemann 2017-02-14

    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.
  7. Jan Vennemann 2017-02-23

    [~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.
  8. Abir Mukherjee 2017-03-16

    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.

JSON Source