我试图通过私有框架访问最喜欢的联系人。我跟着siphon code并从iOS-Runtime-Headers
获得了框架我为访问列表而编写的代码是:
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 :(得分:0)
我刚刚尝试了您的代码,success
等于NO
,favs
和favList
等于nil
,我猜{{1}无法加载。
之后,我尝试使用AddressBookUI.framework
和AddressBook.framework
框架添加(链接)我的项目,并执行此代码(请注意,捆绑加载部分已删除):
AddressBookUI.framework
它有效。也许你可以试试。
顺便说一句,您可能知道它,但直接使用私有代码(在本例中为Class favs = NSClassFromString(@"ABFavoritesList");
id favList = [favs sharedInstance];
NSLog(@"Favs count = %d", [[favList entries] count]);
)绝不是一个好主意,因为此代码将来可能会发生变化。