{ "id": "101947", "key": "TIMOB-11174", "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": "14137", "description": "Release 2.1.3", "name": "Release 2.1.3", "archived": true, "released": true, "releaseDate": "2012-10-03" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14157", "description": "Sprint 2012-20 API", "name": "Sprint 2012-20 API", "archived": true, "released": true, "releaseDate": "2012-10-08" }, { "id": "14272", "description": "2012 Sprint 20", "name": "2012 Sprint 20", "archived": true, "released": true, "releaseDate": "2012-10-08" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-10-06T02:46:21.000+0000", "created": "2012-09-25T16:34:44.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "api", "contacts", "device", "ios", "ios6", "iphone", "qe-ios6", "qe-port" ], "versions": [], "issuelinks": [ { "id": "21614", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "102320", "key": "TIMOB-11199", "fields": { "summary": "Android: Contacts authorization implementation", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "21655", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "101745", "key": "TIMOB-11061", "fields": { "summary": "KitchenSink: Phone: Contacts: Search by ID: Find Record by ID: Intermittent Crash EXC_CRASH (SIGABRT)", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "21625", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "102348", "key": "TIMOB-11207", "fields": { "summary": "Kitchen Sink: On iOS 6, the cases for Contacts->Groups and Contacts->Display People do not work when Kitchen Sink does not have permission to contacts", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "21622", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "102350", "key": "TIMOB-11208", "fields": { "summary": "Kitchen Sink: On iOS 6, no response to user for unable to add contacts and error in console when Kitchen Sink does not have permission to contacts", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-10-06T02:46:21.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": "The method \"getAllContacts()\" of the Ti.Contacts is broken when installing the app on a device (tested with Ti-SDK 2.1.3 GM, iOS 6 and iPhone 5). It works great in the simulator but not on the given device.\r\n\r\n\r\n*Code-Example:*\r\n{code}\r\nvar data = [];\r\n \r\nvar contacts = Titanium.Contacts.getAllPeople();\r\n \r\nfor (var i = 0; i < contacts.length; i++) {\r\n data.push({\r\n name : contacts[i].firstName,\r\n surname : contacts[i].lastName,\r\n phone : contacts[i].phone\r\n });\r\n}\r\n\r\nTi.API.info(\"Collected Contacts: \\n\"+data);\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "iOS 6: Ti.Contacts-Module broken", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Titanium Studio: 1.2.1\r\nTitanium SDK: 2.1.3 RC\r\nMobile-OS: iOS 6\r\nSystem-OS: Mac OS X 10.8.2\r\nDevice: iPhone 5 - iOS 6", "closedSprints": [ { "id": 3, "state": "closed", "name": "Release 3.0.0", "startDate": "2012-09-27T05:26:46.636Z", "endDate": "2012-10-08T20:05:00.000Z", "completeDate": "2012-12-20T17:03:19.403Z" } ], "comment": { "comments": [ { "id": "220878", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "What is the behavior you see on device? Is there just no data?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-09-26T09:48:07.000+0000", "updated": "2012-09-26T09:48:07.000+0000" }, { "id": "220882", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Yes, there is just returned an empty array (data). Note: After i used Ti.Contacts.showContacts(), granted the permission for the contacts and then tried it again, the data was given. So it's obviously a bug where we need to ask for permissions to access the contacts (like in the Geolocation-API).", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-09-26T10:23:52.000+0000", "updated": "2012-09-26T10:23:52.000+0000" }, { "id": "221089", "author": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Able to reproduce the issue on SDK : 2.1.3.v20120921190208 & Iphone 5- iOS6.\nIt does not ask for any permissions to access contacts & we get a empty array.\nAlso,building with iOS SDK 5.1 & titanium SDK 2.1.2 GA asks us for the permission to access the contacts.\nRunning in simulator for iOS SDK 5.1 & titanium SDK 2.1.2 GA returns us \"Collected Contacts : [objects,objects],....\"\n\n\n", "updateAuthor": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-09-26T21:00:13.000+0000", "updated": "2012-09-26T21:00:13.000+0000" }, { "id": "221418", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Expanded test case \n{code}\n var win = Ti.UI.createWindow({backgroundColor:'gray'}); \n var label = Ti.UI.createLabel({\n \t\t\t\t\ttext:'Check log for contacts details.',\n \t\t\t\t\twidth:Ti.UI.SIZE,\n \t\t\t\t\theight:Ti.UI.SIZE,\n \t\t\t});\nwin.add(label);\n\n \t\t\t\t\t\n var performAddressBookFunction = function(){\n \t\tvar data = [];\n  \n\t\tvar contacts = Titanium.Contacts.getAllPeople();\n\t\tTi.API.info(\"Collected Contacts: data length : \"+ data.length);  \n\t\tfor (var i = 0; i < contacts.length; i++) {\n\t\t    data.push({\n\t\t        name : contacts[i].firstName,\n\t\t        surname : contacts[i].lastName,\n\t\t        phone : contacts[i].phone\n\t\t    });\n\t\t\tTi.API.info(\" \\n\"+data[i].name + ' ' + data[i].surname);\n\t\t}\n\t\t \n\t\t\n};\nvar addressBookDisallowed = function(){\n \tTitanium.UI.createAlertDialog({\n\t\ttitle:'CONTACTS ACCESS DENIED', \n\t\tmessage:'Your app does not have access to the Contacts database. Please check privacy settings.'\n \t}).show();\n };\n if (Ti.Contacts.contactsAuthorization == Ti.Contacts.AUTHORIZATION_AUTHORIZED){\n performAddressBookFunction();\n }\n else if (Ti.Contacts.contactsAuthorization == Ti.Contacts.AUTHORIZATION_UNKNOWN){\n Ti.Contacts.requestAuthorization(function(e){\n if (e.success) {\n performAddressBookFunction();\n } \n else {\n \t label.text= 'contacts not available.';\n addressBookDisallowed();\n }\n });\n } \n else {\n addressBookDisallowed();\n }\n\nwin.open();\n{code}", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-09-28T18:59:49.000+0000", "updated": "2012-09-28T18:59:49.000+0000" }, { "id": "221491", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Master PR https://github.com/appcelerator/titanium_mobile/pull/3078\n2_1_X PR https://github.com/appcelerator/titanium_mobile/pull/3084", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-09-29T03:19:42.000+0000", "updated": "2012-09-29T03:19:42.000+0000" }, { "id": "221648", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified fix with:\nTitanium Studio, build: 2.1.2.201208301612\nTitanium SDK: 3.0.0.v20120929141713\nTitanium SDK: 2.1.3.v20120928203111\n\nDevices:\niPhone4 ios5.1.1\niPhone5 ios 6.0\n\nClosing the bug.\n", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-01T21:14:45.000+0000", "updated": "2012-10-01T21:14:45.000+0000" }, { "id": "222382", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopened to adjust remaining estimate.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-06T02:46:21.000+0000", "updated": "2012-10-06T02:46:21.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }