2013-03-25 68 views
0

繼續使用this問題。如何讓我的代碼發現一個嵌入式工具?

我有一個嵌入在框架中的命令行實用程序。該實用程序被第三方用於處理某些處理。我無法使用該實用程序。

我的問題是,我不知道如何在磁盤上找到我的實用程序。它捆綁在我的主應用程序中的一個框架中,但我不知道如何找到正確的路徑。

Halp?

+0

爲了澄清,你想從你的主應用程序包的代碼中編程獲取的路徑可執行命令行? Whereabouts是位於框架內的命令行可執行文件(例如,「Resources」文件夾等)? – NSGod 2013-03-25 18:23:47

+0

是的,資源。 – ruipacheco 2013-03-25 21:58:04

回答

1

只要你已經設置一個適當的捆綁標識符(CFBundleIdentifier)條目的Info.plist文件.framework的,你可以使用NSBundlebundleWithIdentifier:方法以獲得代表框架捆綁,然後用pathForResource:ofType:拿到路徑可執行文件。只要確保給框架一個唯一的包標識符(與主應用程序包的包標識符不同)。

例如,假設我有一個應用程序包CoolApp.app,其CFBundleIdentifiercom.blah.CoolApp。它有一個TextureKit.framework框架在CoolApp.app/Contents/Frameworks/TextureKit.framework,並有CFBundleIdentifiercom.blah.TextureKit.framework。在TextureKit.frameworkResources文件夾中有一個名爲textureUtility的可執行文件。我可以使用下面的代碼來獲取完整路徑textureUtility

NSString *path = [[NSBundle bundleWithIdentifier:@"com.blah.TextureKit.framework"] 
          pathForResource:@"textureUtility" 
            ofType:@""]; 
相關問題