Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Xcode中正确使用iOS运行时标头?_Ios_Xcode_Runtime_Iphone Privateapi - Fatal编程技术网

如何在Xcode中正确使用iOS运行时标头?

如何在Xcode中正确使用iOS运行时标头?,ios,xcode,runtime,iphone-privateapi,Ios,Xcode,Runtime,Iphone Privateapi,我如何才能正确地将内部Xcode用于那些无法进入应用商店但仅用于个人黑客攻击的应用程序 例如,我是将框架复制到Mac上的/System/Library,还是只将所需的转储运行时头包含到我的Xcode项目中?如果是这样的话,我怎样才能使include工作呢?因为当include时,我会收到大量错误消息。我在这里画空白 网上有一些东西,但没有明确说明。详细的解释将不胜感激 谢谢。首先让我们从如何链接这些框架开始 假设您想要使用SpringBoardServices框架 转到并下载标题 搜索Sprin

我如何才能正确地将内部Xcode用于那些无法进入应用商店但仅用于个人黑客攻击的应用程序

例如,我是将框架复制到Mac上的
/System/Library
,还是只将所需的转储运行时头包含到我的Xcode项目中?如果是这样的话,我怎样才能使include工作呢?因为当include时,我会收到大量错误消息。我在这里画空白

网上有一些东西,但没有明确说明。详细的解释将不胜感激


谢谢。

首先让我们从如何链接这些框架开始

假设您想要使用SpringBoardServices框架

  • 转到并下载标题

  • 搜索SpringBoardServices.framework文件夹并复制其中的所有标题

  • 转到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/privateframes/SpringBoardServices.framework 并创建一个名为Headers的文件夹

  • 如果您想在模拟器上尝试应用程序,请将iPhoneOS.platform替换为iPhoneSimulator.platform并将标题粘贴到simulator SDK文件夹中

  • 将刚复制的文件粘贴到内部
  • 现在,您可以链接SpringBoardServices框架

    现在如何使用SpringBoardServices

    这将打开邮件应用程序

    #include <SpringBoardServices/SpringBoardServices.h>
    void openMailApp(){
        SBSLaunchApplicationWithIdentifier(CFSTR("com.apple.MobileMail"), false);
    };
    

    我完全按照你解释的做了,但是Xcode抱怨找不到
    SpringBoardServices.h
    。当你打开该目录时,你应该会看到一个名为SpringBoardServices.tbd的文件。请尝试将其包含到Xcode中,然后直接将标题导入到项目中。当你传递标题时,将其粘贴到标题文件夹中,而不是SpringBoardServices.framework文件夹粘贴到SpringBoardServices.framework/Headers中
    SBSCopyNowPlayingAppBundleIdentifier();