2013-02-28 4 views
0

У меня есть приложение, которое я написал, которое использует внешний исполняемый файл unix. Он должен запустить этот файл, чтобы получить некоторые данные, необходимые для дальнейших процессов.Как создавать и использовать пучки в какао?

Прямо сейчас этот исполняемый файл находится в моей папке проекта, и для его использования в моем приложении у меня есть жестко установленные пути (что плохо).

Я слышал, что, чтобы избежать этой проблемы с жесткими законами, можно использовать пакеты.

Может ли кто-нибудь объяснить мне, если это лучший способ достичь того, что я хочу, и направить меня, как это сделать, если так ?!

я уже просматривал подобные вопросы на StackOverflow и прошел через это: https://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html#//apple_ref/doc/uid/10000123i

это не реально помочь мне до сих пор ...

ответ

1

используется объект NSBundle, чтобы найти свой исполняемый файл. Вы начинаете с получения пакета приложений с помощью [NSBundle mainBundle]. В зависимости от того, где вы разместили свой инструмент Unix, вы можете использовать NSFundle pathForAuxiliaryExecutable: или pathForResource:ofType:, чтобы найти исполняемый файл.

Например, если ваш инструмент Unix находится в папке ресурсов вашего пакета приложения, вы можете сделать следующее:

NSString* toolPath = [[NSBundle mainBunble] pathForResource:@"toolname" ofType:nil] 
+0

Привет Марк, спасибо за ваш ответ. У меня есть быстрый вопрос, хотя ... что вы подразумеваете под «Папкой ресурсов приложения»? –

+1

Когда вы создаете приложение Mac OS X, Xcode создает для вас пакет. Одна из папок, входящих в комплект приложения, - AppName.app/Contents/Resources, где хранятся изображения и другие ресурсы. Вы можете поместить что-нибудь там, что ваше приложение должно использовать во время работы. См. [Документация по структуре пакетов Apple] (https://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1) –

+0

Удивительный! спасибо, Марк! –

Смежные вопросы