{ "id": "164834", "key": "TIMOB-24198", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "18246", "name": "Hyperloop 2.0.1", "archived": false, "released": true, "releaseDate": "2017-03-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-03-16T13:50:25.000+0000", "created": "2016-12-06T01:32:09.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "qe-hyperloop" ], "versions": [ { "id": "18247", "name": "Hyperloop 2.0.0", "archived": false, "released": true, "releaseDate": "2016-10-18" } ], "issuelinks": [], "assignee": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-03-16T17:17:08.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "13715", "name": "Hyperloop", "description": "Hyperloop project" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "The Hyperloop metabase is missing classes annotated with a of {{API_AVAILABLE}} and {{API_UNAVAILABLE}} and which are not explicitly including the Foundation framework.\r\n\r\nFor example the the {{INPreferences}} class of the new {{Intents}} framework is annotated with {{API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(macosx)}} and won't be processed by the metabase parser.\r\n\r\n*Steps to reproduce the behavior*\r\n1. Create a new hyperloop enabled application with {{appc new -t app}}\r\n2. Make a require to the INPreference class: {{var INPreferences = require('Intents/INPreferences');}}\r\n3. Run the app with {{appc run -p ios}}\r\n\r\n*Actual behavior*\r\nThe following error is thrown:\r\n{code}[ERROR] Script Error Couldn't find module: /hyperloop/intents/inpreferences for architecture: x86_64{code}\r\n\r\n*Expected behavior*\r\nThe app launches without errors.\r\n\r\n*Additional notes*\r\nThe issue is solved by explicitly requiring the Foundation framework, forcing it to be included during metabase generation.", "attachment": [], "flagged": false, "summary": "Hyperloop: iOS - API availability annotation parsed incorrectly", "creator": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "environment": "appc-cli 6.0.0\r\nTiSDK 6.0.0\r\nHyperloop 2.0.0", "closedSprints": [ { "id": 799, "state": "closed", "name": "2017 Sprint 02 Tooling", "startDate": "2017-01-15T00:01:57.583Z", "endDate": "2017-01-29T00:01:00.000Z", "completeDate": "2017-01-30T21:11:44.577Z", "originBoardId": 199 } ], "comment": { "comments": [ { "id": "405826", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (master): https://github.com/appcelerator/hyperloop.next/pull/114\r\nPR (2_0_X): https://github.com/appcelerator/hyperloop.next/pull/115", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-31T13:49:49.000+0000", "updated": "2017-01-31T13:49:49.000+0000" }, { "id": "412557", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Reopening ticket, the issue reproduces on latest 2.0.1, so something happened after the code-review in February.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-03-15T17:56:14.000+0000", "updated": "2017-03-15T17:56:14.000+0000" }, { "id": "412784", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "The new code generator introduced in TIMOB-23907 was unintentionally excluding classes that were required but never used, like in the test case for this ticket. The following PR fixes this issue: \r\n\r\nPR (master): https://github.com/appcelerator/hyperloop.next/pull/135\r\nPR (2_0_X): https://github.com/appcelerator/hyperloop.next/pull/136", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-03-16T13:23:00.000+0000", "updated": "2017-03-16T13:23:00.000+0000" }, { "id": "412796", "author": { "name": "jlongton", "key": "jlongton", "displayName": "Josh Longton", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed, The error above in no longer thrown when requiring to the intents such as INPreference.\r\n\r\nTested on:\r\n{noformat}\r\nmacOS Sierra 10.12.3\r\niPhone 6 (10.2.1)\r\niOS simulator (10.2, 10.0)\r\nTi SDK: 6.0.3.v20170315154238\r\nHyperloop: 2.0.1\r\nAppc CLI: 6.1.0\r\nAppc NPM: 4.2.9-1\r\nNode v4.6.0\r\n{noformat}\r\n\r\n*Closing Ticket.*", "updateAuthor": { "name": "jlongton", "key": "jlongton", "displayName": "Josh Longton", "active": true, "timeZone": "Europe/London" }, "created": "2017-03-16T17:16:51.000+0000", "updated": "2017-03-16T17:16:51.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }