2014-10-08 32 views
0

我下載了SpringBoardServices.h文件,並將其添加到我的項目中。但是如何訪問SpringBoardServices.h文件中的一個方法。我試圖撥打BOOL SBSProcessIDForDisplayIdentifier(CFStringRef identifier,pid_t * pid);這個方法存在於MyClass.m文件的SpringBoardServices.h中。如何從我的.m文件調用上面的方法?訪問Objective-C中的SpringBoardServices.h方法?

我用下面的方法,但是它返回null。
類myclass = NSClassFromString(@「SpringBoardServices」);
NSLog(@「myclass%@」,myclass); // null
id myobj = [[myclass alloc] init];

我從link下載了SpringBoardServices.h文件。

+0

你知道c和objective-c的區別嗎? – borrrden 2014-10-08 09:41:54

回答

1

有幾個方法來從私人框架訪問Ç方法:

方法1:

  • 鏈接的私人框架(類似於你如何鏈接公共框架的方式)
  • 包括.h文件
  • 撥打電話:

SBSProcessIDForDisplayIdentifier(...)

方法2:使用dlopen

  • 在運行時

    • 負載框架使用dlsym
    • 做一個呼叫

    BTW查找方法。這適用於C方法,第二種方法不適用於ObjectiveC方法。

  • +0

    我試過方法1.但它給「Typedef重新定義不同類型」錯誤。 – user2533604 2014-10-09 06:35:46

    +0

    它在哪裏顯示它?我記得,在由class-dump-z生成後,我必須清理一些.h文件。舉例來說,我不得不刪除諸如「#import 」 – 2014-10-09 16:20:16