{ "id": "163920", "key": "TIMOB-24027", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" }, { "id": "18247", "name": "Hyperloop 2.0.0", "archived": false, "released": true, "releaseDate": "2016-10-18" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-10-17T16:50:59.000+0000", "created": "2016-10-12T23:33:51.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-10-21T23:19:18.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": "We changed the API to access certain properties in TIMOB-23911. This breaking change will result in error messages like the following:\r\n\r\n{{UIColor.redColor is not a function}}\r\n\r\nTo let the user know why this fails and to help them migrate their code, we can use the old list of properties that were used for the workaround in 1.2.8 to display a help message.\r\n\r\nSomething like this:\r\n\r\n{{It looks like you used the function UIColor.redColor() in your code. Due to changes introduced in iOS 10 and Hyperloop 2.0.0 this method is now a property and must be used like this: UIColor.redColor.}}", "attachment": [], "flagged": false, "summary": "Hyperloop: iOS - Provide migration help for new properties", "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": null, "comment": { "comments": [ { "id": "398996", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (2_0_X): https://github.com/appcelerator/hyperloop.next/pull/92\r\nPR (master): https://github.com/appcelerator/hyperloop.next/pull/93", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-14T18:26:17.000+0000", "updated": "2016-10-17T09:42:59.000+0000" }, { "id": "399082", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Test-case:\r\n{code:javascript}\r\nvar index = Ti.UI.createWindow();\r\n\r\nvar UIView = require(\"UIKit/UIView\");\r\nvar UIColor = require(\"UIKit/UIColor\");\r\n\r\nvar view = new UIView();\r\nview.setBackgroundColor(UIColor.redColor());\r\n\r\nvar btn = Ti.UI.createButton({\r\n title: \"Change to green\"\r\n});\r\n\r\nbtn.addEventListener(\"click\", function() {\r\n view.setBackgroundColor(UIColor.greenColor);\r\n});\r\n\r\nindex.add(view);\r\nindex.add(btn);\r\nindex.open();\r\n{code}", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-17T13:28:09.000+0000", "updated": "2016-10-17T13:28:09.000+0000" }, { "id": "399619", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested with this environment:\r\nNPM Version: 2.15.9\r\nNode Version: 4.5.0\r\nMac OS: 10.11.6\r\nAppc CLI: 5.5.1\r\nAppc CLI NPM: 4.2.7\r\nTitanium SDK version: 6.0.0.v20161019091022\r\nAppcelerator Studio, build: 4.8.0.201610171310\r\nXcode 8.0 GM\r\nHyperloop version 2.0.0\r\n\r\nUsing SDK 5.5.1/Hyperloop 1.2.8, and the above demo code, an error message was seen when pressing the button on the app: \"[KrollCallback CGColor]: unrecognized selector sent to instance 0x60000026e380\"\r\n\r\nWith SDK 6.0.0/Hyperloop 2.0.0 while running the demo code, a message in Studio console was displayed:\r\n[ERROR] : !!! CODE MIGRATION REQUIRED !!!\r\n[ERROR] : Due to changes introduced in iOS 10 and Hyperloop 2.0.0 some method calls need\r\n[ERROR] : to be changed to property access.\r\n...\r\n[ERROR] : Line 7: UIColor.redColor() -> UIColor.redColor\r\n\r\nThe migration message appears to be displayed correctly in the console", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-10-21T23:19:04.000+0000", "updated": "2016-10-21T23:19:04.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }