{ "id": "104188", "key": "TIMOB-11620", "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": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "14624", "description": "2012 Sprint 24 JS", "name": "2012 Sprint 24", "archived": true, "released": true, "releaseDate": "2012-12-03" }, { "id": "14626", "description": "2012 Sprint 24 Core", "name": "2012 Sprint 24 Core", "archived": true, "released": true, "releaseDate": "2012-12-03" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-11-21T23:19:07.000+0000", "created": "2012-10-31T01:27:40.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "SupportTeam", "module_view", "qe-manualtest", "regression", "triage" ], "versions": [ { "id": "14137", "description": "Release 2.1.3", "name": "Release 2.1.3", "archived": true, "released": true, "releaseDate": "2012-10-03" } ], "issuelinks": [ { "id": "22755", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "99669", "key": "TIMOB-10577", "fields": { "summary": "iOS: Kroll: Introspection is too introspective", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-08-14T07:58:27.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h3. Problem description\r\nOn iOS 6, a 'className' property is returned as 'TiUIViewProxy' instead of its set value\r\n\r\nh3. Steps to reproduce and sample code\r\nCreate a View (for example) with a 'className' property, set to a string\r\nResult: instead of the string value, the property value is returned as TiUIViewProxy\r\n\r\nThis is happening only on iOS 6. On iOS 5.1 the string value is returned.\r\n\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor : \"black\",\r\n\tnavBarHidden : false,\r\n\ttitle : \"Main Window\",\r\n});\r\n\r\nvar view = Ti.UI.createView({\r\n\tclassName : 'viewClassname',\r\n\theight : 200,\r\n\twidth : 200,\r\n\tid : 'viewID',\r\n\tbackgroundColor : 'orange'\r\n});\r\nTi.API.info('#### view: ' + JSON.stringify(view));\r\n\r\nvar label = Ti.UI.createLabel({\r\n\tclassName : 'labelClassname',\r\n\ttext : 'Label',\r\n\tcolor : 'orange',\r\n\ttop : 20\r\n});\r\nTi.API.info('#### view: ' + JSON.stringify(label));\r\n\r\nwin.add(view);\r\nwin.add(label);\r\nwin.open();\r\n{code}\r\n\r\n\r\nLog:\r\n{code}\r\n[INFO] #### view: {\"className\":\"TiUIViewProxy\",\"width\":200,\"horizontalWrap\":true,\"id\":\"viewID\",\"backgroundColor\":\"orange\",\"height\":200}\r\n[INFO] #### view: {\"className\":\"TiUILabelProxy\",\"top\":20,\"horizontalWrap\":true,\"text\":\"Label\",\"color\":\"orange\"}\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS 6: 'className' property is returned as TiUIObjectProxy", "creator": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "TiSDK tested 2.1.3 GA\r\niOS 6 only", "comment": { "comments": [ { "id": "226082", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR https://github.com/appcelerator/titanium_mobile/pull/3375", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-03T00:42:25.000+0000", "updated": "2012-11-03T00:42:25.000+0000" }, { "id": "227036", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "3_0_X PR https://github.com/appcelerator/titanium_mobile/pull/3409", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-12T19:28:50.000+0000", "updated": "2012-11-12T19:28:50.000+0000" }, { "id": "227111", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Apple brought about an internal method, className, to NSObject. If we were to implement className as a method, there is a high chance the apps would get rejected because of this.", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-13T01:43:52.000+0000", "updated": "2012-11-13T01:43:52.000+0000" }, { "id": "227159", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "And the only real way to test this is to run app validation.\n", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-13T18:40:25.000+0000", "updated": "2012-11-13T18:40:25.000+0000" }, { "id": "227739", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Blain, I ran an app validation process with className defined on NSObject subclass, and it passed with no issues.\nThis confirms the change is safe (yet).", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-16T21:20:28.000+0000", "updated": "2012-11-16T21:20:28.000+0000" }, { "id": "228312", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "alternative solution provided.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-21T23:04:59.000+0000", "updated": "2012-11-21T23:04:59.000+0000" }, { "id": "229867", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as fixed.\nTested and verified with:\nTitanium Studio, build: 3.0.0.201211301903\nTitanium SDK, build: 3.0.0.v20121130200208\nDevices:\niPad mini iOS 6.0.1\niPad4 iOS 6.0\niPhone5 iOS 6.0", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-04T18:26:06.000+0000", "updated": "2012-12-04T18:26:06.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }