继续this问题。
我在框架中嵌入了一个命令行实用程序。第三方使用该实用程序来处理某些处理。我无法使用该实用程序。
我的问题是,我不知道如何在磁盘上找到我的实用程序。它捆绑在我的主应用程序中的框架中,但我不确定如何获得正确的路径。
HALP?
答案 0 :(得分:1)
如果您为.framework的CFBundleIdentifier
文件设置了正确的包标识符(Info.plist
)条目,则可以使用NSBundle
的{{3}}方法获取表示框架的bundle,然后使用bundleWithIdentifier:
获取可执行文件的路径。只需确保为框架提供唯一的包标识符(与主应用程序包的包标识符不同)。
例如,假设我的应用包CoolApp.app
的{{1}}为CFBundleIdentifier
。它有一个com.blah.CoolApp
框架,位于TextureKit.framework
,CoolApp.app/Contents/Frameworks/TextureKit.framework
为CFBundleIdentifier
。 com.blah.TextureKit.framework
Resources
文件夹中的TextureKit.framework
文件夹是名为textureUtility
的可执行文件。我可以使用以下代码获取textureUtility
的完整路径:
NSString *path = [[NSBundle bundleWithIdentifier:@"com.blah.TextureKit.framework"]
pathForResource:@"textureUtility"
ofType:@""];