-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCycriptExplorationNotes
More file actions
48 lines (36 loc) · 2.01 KB
/
CycriptExplorationNotes
File metadata and controls
48 lines (36 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// This is me exploring the things through
// cycript -p Music on device
// and any notes I made before I started coding
// p is a MusicCollectionTrackTableViewCell
// @interface MusicCollectionTrackTableViewCell : MusicMediaTableViewCell
// @interface MusicMediaTableViewCell : MusicTableViewCell
// @interface MusicTableViewCell : UITableViewCell
[p setAccessoryType:UITableViewCellAccessoryDetailButton] //2 or 4
[p cellContentView]
((p->_accessoryView)->_infoButton) //AccessoryButton
[[p superview] delegate] // MusicTableView
c = [p superview].superview // MusicTableView
[c _viewControllerForAncestor] //MusicAlbumsDetailViewController
d = c->_dataSource //MusicAlbumsDetailViewController
e = d->_dataSource //MusicArtistAlbumsDataSource
f = e->_entities; //MPConcreteMediaItem : MPMediaItem : MPMediaEntity
f.artist
f.title
//https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMediaItem_ClassReference/index.html#//apple_ref/doc/constant_group/General_Media_Item_Property_Keys
//https://stackoverflow.com/questions/13208169/ios-getting-explicit-and-clean-tags-from-media-in-objective-c
// Searchview
//Everything is MusicSearchTableViewCell:MusicSongListTableViewCell
// let c be a MusicSearchTableViewCell
// then c.superview.superview is MusicSearchTableView
// c.delegate or c.dataSource ->MusicSearchViewController
// let d = MusicSearchViewController
// d->_nonEmptySearchDataSources (NSArray of MPUSearchDataSource)
// d->_searchDataSources (NSArray of MPUSearchDataSource)
// let d = _nonEmptySearchDataSources
// let e = element in d representing song results
// tell by looking at d[i].query.groupingType
// we want value=0, since MPMediaGroupingTitle=0
// look here for other ones
// https://developer.apple.com/library/prerelease/ios/documentation/MediaPlayer/Reference/MPMediaQuery_ClassReference/index.html#//apple_ref/c/econst/MPMediaGroupingTitle
// let f = e->_searchResults or e.query.items or e.query.collections[0]->_entities (NSArray of MPConcreteMediaItem)
// f[row] is MPConcreteMediaItem