[TIMOB-25341] Hyperloop: Error after iOS 11 / Xcode 9 update
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2017-10-10T08:41:59.000+0000 |
Affected Version/s | Hyperloop 2.1.3 |
Fix Version/s | Hyperloop 2.2.0 |
Components | Hyperloop, iOS |
Labels | ios11, xcode9 |
Reporter | Matias Penela |
Assignee | Jan Vennemann |
Created | 2017-09-25T20:04:28.000+0000 |
Updated | 2018-05-10T06:47:13.000+0000 |
Description
After installing Xcode's iOS 11 SDK, I am having trouble compiling my application.
The module I am testing with is Intercom (SDK 4.0.3) Via Podfile (included below)
After cleaning the project and compiling this is the output:
[INFO] : Starting Hyperloop assembly
[WARN] : [Hyperloop] couldn't find class Protocol * {"name":"protocol","optional":false,"type":{"type":"objc_pointer","value":"Protocol *"}}
[WARN] : [Hyperloop] Not sure how to handle: name= __fpu_fcw type= unknown type: 119 value= unknown type: 119
On second try (without project clean) here is the output:
[ERROR] : Couldn't find module: Intercom for architecture: x86_64
System information:
Hyperloop: 2.1.3
Operating System
Name = Mac OS X
Version = 10.12.6
Architecture = 64bit
# CPUs = 8
Memory = 17179869184
Node.js
Node.js Version = 6.11.3
npm Version = 3.10.10
Titanium CLI
CLI Version = 5.0.14
Titanium SDK
SDK Version = 6.2.2.GA
SDK Path = /Users/matiaspenela/Library/Application Support/Titanium/mobilesdk/osx/6.2.2.GA
Target Platform = iphone
[INFO] : Building using iOS SDK: 11.0
[INFO] : Building for iOS Simulator: iPhone 6s
[INFO] : Building for device family: universal
[INFO] : Minimum iOS version: 8.0
I believe the issue is that hyperloop assembly does not start or build and thus the modules required by app are not found.
TEST CASE:
var Intercom = require('Intercom/Intercom');
var IntercomUser = require('Intercom/ICMUserAttributes');
Attachments
File | Date | Size |
---|---|---|
Podfile | 2017-09-25T20:12:34.000+0000 | 141 |
screenshot-1.png | 2017-09-25T20:12:50.000+0000 | 181974 |
I'm experiencing the same issue and was about to open a Jira ticket when I found this one. To reproduce it just create a new project, Hyperloop enabled and add this line to the index.js file: var UIView = require('UIKit/UIView'); I was testing with node v4.x and ti SDK 6.2.1.GA and 6.1.2.GA. Now I'm with node v6.x and SDK 6.2.2.GA. I have reinstalled everything (node, npm, ti, appc) and still happens. The /js folder under /hyperloop remains empty after compiling. The first time it fails, the second time it says it is already generated but breaks in runtime. In my case I get this error: /hyperloop/uikit/uiview module not found. !screenshot-1.png|thumbnail!
Is the Hyperloop module open source? Is there a way to workaround this until 2.0.0 is released? I have reinstalled XCode 8.3.3 for now.
The Hyperloop module is not open source yet. Unfortunately, the only solution for this until Hyperloop 2.2.0 is out, is to stick to Xcode 8.3.3. Apple made a major version bump for the included clang compiler to 4.0 with Xcode 9, which is causing some troubles during metabase generation. We are working hard to include a fix for this in Hyperloop 2.2.0 and get that out asap!
PR (master): https://github.com/appcelerator/hyperloop.next/pull/215 PR (2_2_X): https://github.com/appcelerator/hyperloop.next/pull/214
I have this exact issue too.. Back to 8.3.3 it is then.. Weirdly this was working for me for the last week (I usually had to build the app twice to get it to not error out) now it's stopped working completely with the same error. Strange..
Follow up fix for block issues when requiring certain class combinations: PR (master): https://github.com/appcelerator/hyperloop.next/pull/227 PR (2_2_X): https://github.com/appcelerator/hyperloop.next/pull/228
Node Version: 6.10.3 NPM Version: 3.10.10 Mac OS: 10.13 Appc CLI: 6.2.4 Appc CLI NPM: 4.2.9 Titanium SDK version: 6.2.2 Appcelerator Studio vers 4.10.0 Hyperloop 2.2.0 RC3 Xcode 9.0 Validated the fix with the above environment.
The same issue happens with Hyperloop 3.1.0 beta 2 release.