我的项目中有一个应用程序(名为 App_Main )。我想在App_Main包中打包另一个小应用程序(让我们称之为 App_Tiny )。
然后,正如我所知道App_tiny的路径,我可以在App_Main的运行时以编程方式执行App_Tiny。
我怎样才能做到这一点?如何指定和构建另一个可执行目标,最重要的是,自动将App_Tiny放入App_Main的包目录中?
答案 0 :(得分:3)
要添加新目标,只需点击项目资源管理器左侧窗格中的“新目标”按钮即可。 Xcode允许您在添加时选择目标类型(应用程序)。
接下来,您需要添加FooBarTiny作为主应用程序(FooBar)的构建依赖性。编辑主目标的方案,并将子目标添加为显式依赖。
现在你建立FooBar;如果需要,将构建FooBarTiny。
接下来,将FooBarTiny添加到“Copy Bundle Resources”阶段。点击添加按钮并向下滚动树,你可以在Products文件夹中找到FooBarTiny。
要从您的应用中启动FooBarTiny,您可以使用NSWorkspace
。
- (NSRunningApplication *)launchApplicationAtURL:(NSURL *)url options:(NSWorkspaceLaunchOptions)options configuration:(NSDictionary *)configuration error:(NSError **)error
可能是一个很好的起点。查看API文档以了解其他变体。
APP商店的额外内容
仅仅签署您的主应用程序是不够的。任何Applescripts和子应用程序(FooBarTiny)也必须签名,否则您的应用程序将无法通过验证。这个答案与此无关,但这里有一个good blog on the issue。