0

继续这个问题。

我在框架中嵌入了一个命令行实用程序。第三方使用该实用程序来处理某些处理。我没有办法不能使用该实用程序。

我的问题是,我不知道如何在磁盘上找到我的实用程序。它捆绑在我的主应用程序中的一个框架中,但我不确定如何获得正确的路径。

哈普?

4

1 回答 1

1

如果您为 .frameworkCFBundleIdentifier的文件设置了正确的包标识符 ( ) 条目,则可以使用'方法获取表示框架的包,然后使用获取可执行文件的路径。只要确保你给框架一个唯一的包标识符(不同于你的主应用包的包标识符)。Info.plistNSBundlebundleWithIdentifier:pathForResource:ofType:

例如,假设我有一个应用程序包CoolApp.app,其中CFBundleIdentifier包含com.blah.CoolApp. 它有一个TextureKit.framework框架,位于,CoolApp.app/Contents/Frameworks/TextureKit.framework并有一个CFBundleIdentifiercom.blah.TextureKit.framework在 的Resources文件夹内TextureKit.framework是一个名为 的可执行文件textureUtility。我可以使用以下代码获取完整路径textureUtility

NSString *path = [[NSBundle bundleWithIdentifier:@"com.blah.TextureKit.framework"]
                           pathForResource:@"textureUtility"
                                    ofType:@""];
于 2013-03-25T22:09:11.267 回答