{ "id": "64196", "key": "TIMOB-3564", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "11362", "description": "Mobile 1.8.0 M09", "name": "Sprint 2011-30", "archived": true, "released": true, "releaseDate": "2011-08-01" }, { "id": "11331", "description": "", "name": "Release 1.8.0", "archived": true, "released": true, "releaseDate": "2011-10-31" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-07-27T13:32:12.000+0000", "created": "2011-04-15T03:46:42.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [], "versions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" } ], "issuelinks": [], "assignee": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-02-10T14:36:31.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": "{html}

Feature

\r\n

Expose MPMediaQuery so that users can query the media\r\nlibrary.

\r\n

Apple Documentation

\r\n

\r\nhttp://developer.apple.com/library/ios/#documentation/Audio/Concept...

\r\n

Sample ObjC

\r\n

The following logs all of the artist names on the device.

\r\n
\r\nMPMediaQuery *everything = [[MPMediaQuery alloc] init];\r\n\r\nNSLog(@\"Logging items from a generic query...\");\r\nNSArray *itemsFromGenericQuery = [everything items];\r\nfor (MPMediaItem *song in itemsFromGenericQuery) {\r\n    NSString *artistName = [song valueForProperty: MPMediaItemPropertyArtist];\r\n    NSLog (@\"%@\", artistName);\r\n}\r\n
\r\n

Associated Helpdesk Ticket

\r\n

http://support-admin.appcelerator.com/display/JLD-13382-221

{html}", "attachment": [], "flagged": false, "summary": "iOS: Expose MPMediaQuery", "creator": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "environment": null, "comment": { "comments": [ { "id": "160539", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "There is a new test in KS (and a reorganization of the 'Music' tests) for this feature.\r\n\r\n- 'Phone -> Music' now points to a selection of multiple music tests\r\n- 'Phone -> Music -> Music Picker' is the old 'Phone -> Music' test\r\n- The new 'Phone -> Music -> Music Query' test runs as:\r\n\r\n----\r\n\r\nThis test must be run on a device with media installed for the iPod. Clicking the 'Query! [check your log]' button will produce output in the log like the following, consisting of (title, artist, genre) triplets:\r\n\r\n{quote}\r\n[INFO] 0: (Bioshock Main Theme (The Ocean on His Shoulders),Garry Schyman,Game)\r\n[INFO] 1: (The Ocean,Led Zeppelin,Rock)\r\n[INFO] 2: (The Ocean Is The Ultimate Solution,Frank Zappa,Alternative & Punk)\r\n[INFO] 3: (Ocean Man,Ween,Rock)\r\n[INFO] 4: (Ocean of Lust,DeVotchKa,Rock)\r\n[INFO] 5: (Porcelina Of The Vast Oceans,Smashing Pumpkins,Alternative & Punk)\r\n[INFO] 6: (Songs Of The Ocean,Star One,Progressive Metal)\r\n[INFO] 7: (Songs Of The Ocean,Star One,Progressive Metal)\r\n{quote}\r\n\r\nOr a 'No results!' result, indicating a nonmatch.\r\n\r\n1. Each text field indicates an ID3 tag in the media library to match against as part of the query.\r\n2. The 'exact' toggles turns on/off exact matching. Exact matching INCLUDES case-sensitivity.\r\n3. With all fields empty, regardless of 'exact'ness, the result should be all media installed on the device.\r\n4. Results should be sorted alphabetically by title\r\n\r\nTESTING\r\n----\r\nSimply make sure that some sensible values are returned for various title/artist/genre configurations. The smaller the amount of media installed on the device, the better (it's actually best to install a small set of songs filtered in itunes by title, because this will also give you some data to validate the full list/title \"inexact\" search against).", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-07-25T16:35:15.000+0000", "updated": "2011-07-25T16:35:15.000+0000" }, { "id": "182793", "author": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing issue\r\n\r\nTested with Ti Studio build 1.0.8.201201262211\r\nTi Mob SDK 1.9.0.v20120209183134\r\nOSX Lion 10.7.3\r\niPhone 4S OS 5.0.1\r\n\r\nVerified that the expected behavior is shown from the new KS tests", "updateAuthor": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-10T14:36:31.000+0000", "updated": "2012-02-10T14:36:31.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }