{ "id": "170255", "key": "AC-5360", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2017-11-12T12:07:33.000+0000", "created": "2017-11-08T19:36:50.000+0000", "labels": [ "ios" ], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2019-05-28T13:48:57.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "15000", "name": "Hyperloop" } ], "description": "1. Created simple swift framework testFr.framework. Framework is tested from other test Xcode project and it works.\r\n2. Pasted testFr.framework to app/platform/ios directory\r\n3. Required for framework class from index.js file.\r\n\r\nvar MyView = require(\"testFr/MyView\"); // this line is passed and \"something is created\"\r\nTi.API.info(\"CLASS \", MyView); // this MyView object has value : \r\nvar view = new MyView(); // FAILED\r\n$.index.add(view);\r\n\r\n4. Get this error:\r\n[ERROR] : Cannot find class with name: MyView\r\n[ERROR] : Script Error {\r\n[ERROR] : column = 32;\r\n[ERROR] : description = \"Cannot find class with name: MyView\";\r\n[ERROR] : line = 101;\r\n[ERROR] : message = \"Cannot find class with name: MyView\";\r\n[ERROR] : name = ClassNotFound;\r\n[ERROR] : nativeStack = \"1 libobjc.A.dylib 0x0000000184a84528 objc_exception_throw + 56\\n2 testHyperloop 0x0000000102b66e74 testHyperloop + 4337268\\n3 testHyperloop 0x0000000102b600d0 testHyperloop + 4309200\\n4 testHyperloop 0x000000010295663c testHyperloop + 2172476\\n5 testHyperloop 0x00000001029fc2dc testHyperloop + 2851548\\n6 testHyperloop 0x0000000102a02218 testHyperloop + 2875928\";\r\n[ERROR] : sourceURL = \"file:///var/containers/Bundle/Application/9683EB85-028C-46DD-8552-5A340974E8ED/testHyperloop.app/hyperloop/testfr/myview.js\";\r\n[ERROR] : stack = \"createProxy@[native code]\\n$initialize@file:///var/containers/Bundle/Application/9683EB85-028C-46DD-8552-5A340974E8ED/testHyperloop.app/hyperloop/testfr/myview.js:101:32\\nMyView@file:///var/containers/Bundle/Application/9683EB85-028C-46DD-8552-5A340974E8ED/testHyperloop.app/hyperloop/testfr/myview.js:24:14\\nController@file:///var/containers/Bundle/Application/9683EB85-028C-46DD-8552-5A340974E8ED/testHyperloop.app/alloy/controllers/index.js:1:1199\\ncreateController@file:///var/containers/Bundle/Application/9683EB85-028C-46DD-8552-5A340974E8ED/testHyperloop.app/alloy.js:1:4894\\nglobal code@file:///var/containers/Bundle/Application/9683EB85-028C-46DD-8552-5A340974E8ED/testHyperloop.app/app.js:1:574\";\r\n[ERROR] : }\r\n\r\n5. Checked file myView.js generated by hyperloop and it crash at this line:\r\n\r\n\t$class = Hyperloop.createProxy({\r\n\t\tclass: 'MyView',\r\n\t\talloc: false,\r\n\t\tinit: 'class'\r\n\t});", "attachment": [ { "id": "63567", "filename": "testHyperloop.zip", "author": { "name": "office@smartbit.rs", "key": "office@smartbit.rs", "displayName": "Igor Stojanovic", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-11-08T19:35:32.000+0000", "size": 10054419, "mimeType": "application/zip" } ], "flagged": false, "summary": "Swift framework ", "creator": { "name": "office@smartbit.rs", "key": "office@smartbit.rs", "displayName": "Igor Stojanovic", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "office@smartbit.rs", "key": "office@smartbit.rs", "displayName": "Igor Stojanovic", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Operating System\r\n Name = Mac OS X\r\n Version = 10.12.6\r\n Architecture = 64bit\r\n # CPUs = 4\r\n Memory = 8589934592\r\nNode.js\r\n Node.js Version = 6.11.2\r\n npm Version = 5.4.2\r\nTitanium CLI\r\n CLI Version = 5.0.14\r\nTitanium SDK\r\n SDK Version = 6.3.0.GA\r\n SDK Path = /Users/luna/Library/Application Support/Titanium/mobilesdk/osx/6.3.0.GA\r\n Target Platform = iphone\r\n\r\nHyperloop version = 2.2.2", "comment": { "comments": [ { "id": "430384", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~jvennemann] Can you try to reproduce this? Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-11-10T13:23:19.000+0000", "updated": "2017-11-10T13:23:19.000+0000" }, { "id": "430462", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Pure Swift framework (without the public Objective-C header) are not supported so far. They require a different way of parsing and are tracked in TIMOB-24163.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-11-12T12:07:33.000+0000", "updated": "2017-11-12T12:07:33.000+0000" }, { "id": "445309", "author": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "body": "I'm having a similar issue with GiphyCoreSDK, a Swift framework which has a public objective C header. ", "updateAuthor": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-01-15T10:33:33.000+0000", "updated": "2019-01-15T10:33:33.000+0000" }, { "id": "445314", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~rlustemberg] If you're flexible, you can use the pure native Swift module support coming in SDK 8 (already merged and stable) to even use frameworks that do not have any Obj-C relation.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-01-15T12:39:09.000+0000", "updated": "2019-01-15T12:39:09.000+0000" }, { "id": "445315", "author": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "body": "I'll test with SDK 8. In any case the GiphyCoreSdk is just a wrapper for an http client to their REST API. I can even skip the framework altogether, and use the Ti http client. But I'll test with SDK 8 anyway. The framework does work if I call it from within a native module (SDK 7.5), there are no issues once I import the umbrella header.\r\n", "updateAuthor": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-01-15T12:44:59.000+0000", "updated": "2019-01-15T12:44:59.000+0000" }, { "id": "445316", "author": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "body": "It fails as well :( . The classes on the umbrella header are not available to hyperloop", "updateAuthor": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-01-15T12:58:20.000+0000", "updated": "2019-01-15T12:58:20.000+0000" }, { "id": "445318", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Please note that I don't mean Hyperloop and SDK 8. I mean a native module (ti create -t module) where you can select \"Swift\" or \"Obj-C\" now.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-01-15T13:19:33.000+0000", "updated": "2019-01-15T13:19:33.000+0000" }, { "id": "448680", "author": { "name": "kosso", "key": "kosso", "displayName": "kosso", "active": true, "timeZone": "Europe/London" }, "updateAuthor": { "name": "kosso", "key": "kosso", "displayName": "kosso", "active": true, "timeZone": "Europe/London" }, "created": "2019-05-28T13:48:57.000+0000", "updated": "2019-05-28T13:48:57.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }