2011-09-23 86 views
0

我試圖通過私有框架訪問收藏聯繫人。我跟着siphon code,得到了框架從iOS-Runtime-HeadersiOS聯繫人收藏夾

我寫訪問列表中的代碼是:

NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AddressBookUI.framework"]; 
    BOOL success = [b load]; 

    Class favs = NSClassFromString(@"ABFavoritesList"); 

    id favList = [favs sharedInstance]; 

    NSLog(@"Favs count = %d", [[favList entries] count]); 

出於某種原因,該項目正在牽強,因爲爲零。任何幫助,將不勝感激。

回答

0

我只是想你的代碼,success是等於NO,並favsfavList是等於nil,我猜AddressBookUI.framework無法加載。

在那之後,我嘗試添加(連接)我的項目與AddressBook.frameworkAddressBookUI.framework框架,並執行該代碼(注意包的負載部分被移除):

Class favs = NSClassFromString(@"ABFavoritesList"); 
id favList = [favs sharedInstance]; 
NSLog(@"Favs count = %d", [[favList entries] count]); 

和它的作品。也許你可以嘗試一下。順便說一句,你可能知道它,但它直接使用私人代碼(在這種情況下爲ABFavoritesList)從來不是一個好主意,因爲此代碼將來可能會發生變化。