簡體   English   中英

iOS 7專用API的使用

[英]iOS 7 Private API usage

昨天,我嘗試在iOS 7中使用Private API,但無法正常工作。 以下調用在iOS 6上運行良好:

1. NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/AppleAccount.framework"];
2. BOOL success = [b load];
3.
4. Class AADeviceInfo = NSClassFromString(@"AADeviceInfo");
6.
7. NSLog(@"-- serialNumber: %@", [AADeviceInfo serialNumber]);
8. NSLog(@"-- udid: %@", [AADeviceInfo udid]);

在iOS 7中使用此代碼段時,它將返回空指針。 框架,類和方法仍然存在( 請單擊我 )。 對我的問題有任何想法嗎? 是否存在額外的安全層,使得不再可以在iOS 7中調用私有API?

謝謝!

在大多數情況下,這種行為意味着此API受權利保護。 這是跨iOS使用的授權方法。 API的大部分調用都來自進程服務器。 並且該服務器可以檢查客戶端是否具有某些特定的權利。 授權僅適用於越獄iOS上的系統應用程序和第三方應用程序。

沒有簡單的方法來檢查服務器是否需要授權。 但是,有時它會在控制台中寫類似“嘿...您需要授權X才能調用API Y”的內容。 但是,大多數情況下,它會默默地失敗。

如果您真的想檢查一下,則必須反匯編框架以查看它使用的服務器,然后反匯編服務器並找到此API的實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM