{ "id": "153708", "key": "TIMOB-20118", "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": "17072", "name": "Release 5.1.2", "archived": false, "released": true, "releaseDate": "2016-01-12" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-12-08T23:53:12.000+0000", "created": "2015-12-08T21:03:25.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "qe-5.1.2" ], "versions": [ { "id": "17072", "name": "Release 5.1.2", "archived": false, "released": true, "releaseDate": "2016-01-12" } ], "issuelinks": [], "assignee": { "name": "apetkov", "key": "apetkov", "displayName": "Angel Petkov", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2015-12-09T21:43:39.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": "h5. Description: Created a test contact with values given to all properties, when logging {{fullName}} to the console, it does not display the associated variables in the correct order, and {{middleName}} is replaced by {{organisation}}:\r\n\r\n*Note: This issue only occurs for iOS9, and fullName property returns the correct variables when built to an iOS8 device/ sim.*\r\n{code:java}\r\n[INFO] : firstName: Nathan\r\n[INFO] : middleName: John\r\n[INFO] : lastName: Cook\r\n[INFO] : fullName: Mr III Appcelerator Nathan Cook\r\n[INFO] : prefix: Mr\r\n[INFO] : suffix: III\r\n{code}\r\n\r\nh5. Steps to reproduce:\r\n1. Create a classic project.\r\n2. Include following demo code: \r\n{code:java}\r\nvar win1 = Titanium.UI.createWindow({ \r\n title:'Tab 1',\r\n backgroundColor:'#fff'\r\n});\r\n var Nathan =\"\";\r\n \r\n Ti.Contacts.requestAuthorization(function(e) {\r\n if (e.success == true) {\r\n alert('Contact Request Authorization success');\r\n }\r\n else {\r\n alert('Contact Request Authorization denied');\r\n }\r\n });\r\n \r\nvar createContact = Ti.UI.createButton({\r\n title: \"Create New Contact\",\r\n});\r\n \r\ncreateContact.addEventListener('click',function(e){\r\n if (Nathan != null) {\r\n Nathan = Ti.Contacts.createPerson({\r\n firstName: 'Nathan',\r\n lastName: 'Cook',\r\n middleName: 'John',\r\n nickname: 'Fish',\r\n prefix: 'Mr',\r\n suffix: 'III',\r\n firstPhonetic: 'N',\r\n middlePhonetic: 'T',\r\n lastPhonetic: 'A',\r\n organization: 'appcelerator',\r\n department: 'Cloud',\r\n jobTitle: 'QE',\r\n note: 'You gotta risk it, to get the biscuit',\r\n kind: Ti.Contacts.CONTACTS_KIND_PERSON,\r\n address:{\r\n work:[\r\n {\r\n CountryCode: 'GB', // determines how the address is displayed\r\n Street: '123 Wales Road',\r\n City: 'Camarthan',\r\n Country: 'Wales',\r\n PostalCode: 'CA35 9TW'\r\n },\r\n {\r\n CountryCode: 'US', // determines how the address is displayed\r\n Street: '321 America Road',\r\n City: 'San Jose',\r\n State: 'CA',\r\n Country: 'The United States of America',\r\n PostalCode: '84009'\r\n }\r\n ],\r\n home:[\r\n {\r\n CountryCode: 'gb', // determines how the address is displayed\r\n Street: '2 Boleyn Court',\r\n City: 'London',\r\n State: 'Greenwich',\r\n Country: 'England',\r\n PostalCode: 'SE10'\r\n }\r\n ]\r\n },\r\n email:{\r\n home : [\r\n 'myGmail',\r\n 'myHotmail'\r\n ],\r\n work : [\r\n 'myWorkemail'\r\n ]\r\n },\r\n \r\nrelatedNames:{\r\n father: ['Big Daddy','Big Daddy Sr'],\r\n mother: ['Big Momma', 'Big Momma Sr'],\r\n child: ['Derek']\r\n },\r\n \r\n birthday: '2012-01-01T12:00:00.000+0000',\r\n instantMessage:{\r\n home:[\r\n {\r\n service: 'AIM',\r\n username: 'leisureAIM'\r\n },\r\n {\r\n service: 'MSN',\r\n username: 'no_paul_here@msn.com'\r\n }\r\n ],\r\n work:[\r\n {\r\n service: 'AIM',\r\n username: 'seriousAIM'\r\n }\r\n ]\r\n },\r\n organization: 'Appcelerator',\r\n phone:{\r\n main: ['07900 000001', '07900 000002'],\r\n iPhone: ['+44 (0)118 925 6128', '+44 (0)118 000 0000']\r\n },\r\n alternateBirthday: {\r\n calendarIdentifier: 'chinese',\r\n day: 25,\r\n era: 78,\r\n isLeapMonth: false,\r\n month: 11,\r\n year: 16\r\n },\r\n socialProfile:{\r\n home:[{\r\n service: 'facebook',\r\n username: 'jdeep@facebook.com'\r\n },\r\n {\r\n service: 'gamecenter',\r\n username: 'jdeep@hotmail.com'\r\n }],\r\n work:[{\r\n service: 'linkedin',\r\n username: 'jdeep@linkedin.com'\r\n }]\r\n },\r\n \r\n url:{\r\n homepage: ['www.google.com'],\r\n work: ['www.appcelerator.com', 'www.example.com']\r\n },\r\n date:{\r\n anniversary: ['2006-06-25T12:00:00.000+0000','2007-06-25T12:00:00.000+0000'],\r\n other: ['2009-03-25T12:00:00.000+0000']\r\n }\r\n }); \r\n } else {\r\n return;\r\n }\r\n});\r\n\r\nvar button = Ti.UI.createButton({ \r\n title: 'Select Contact', \r\n height: '50dp',\r\n width: '130dp',\r\n top: '20%' \r\n});\r\n \r\nbutton.addEventListener('click', function(e) {\r\n Ti.Contacts.showContacts({\r\n selectedProperty: function(e){\r\n alert(JSON.stringify(e));\r\n }\r\n });\r\n});\r\n\r\nbutton.addEventListener(\"click\", function(e) {\r\n \r\n var singleValue = [\r\n 'firstName', 'middleName', 'lastName', 'fullName', 'prefix', 'suffix', \r\n 'nickname', 'firstPhonetic', 'middlePhonetic', 'lastPhonetic', 'organization', \r\n 'jobTitle', 'department', 'note', 'birthday', 'kind'\r\n];\r\nvar multiValue = [\r\n 'email', 'address', 'phone', 'instantMessage', 'relatedNames', 'date', 'url'\r\n];\r\n\r\nvar people = Ti.Contacts.getPeopleWithName(\"Nathan\");\r\nTi.API.info('Total contacts: ' + people.length);\r\nfor (var i=0, ilen=people[0]; i<1; i++){\r\n Ti.API.info('---------------------');\r\n var person = people[i];\r\n\r\n for (var j=0, jlen=singleValue.length; j