0
我有一個基於控制檯的C++可執行文件,已成功編譯爲iPhone(arm7,arm7s和i386體系結構)。我想簡單地調用這個程序(帶參數)並打印執行的輸出。有關如何去做這件事的任何想法?在C++中,這是通過某種類型的popen()來完成的,但我不知道如何通過Objective-C來實現(特別是因爲似乎沒有任何文檔)。在Objective-C中調用一個C++程序(帶參數)並獲取輸出結果
我有一個基於控制檯的C++可執行文件,已成功編譯爲iPhone(arm7,arm7s和i386體系結構)。我想簡單地調用這個程序(帶參數)並打印執行的輸出。有關如何去做這件事的任何想法?在C++中,這是通過某種類型的popen()來完成的,但我不知道如何通過Objective-C來實現(特別是因爲似乎沒有任何文檔)。在Objective-C中調用一個C++程序(帶參數)並獲取輸出結果
在OS X上,您可以使用NSTask。在iOS上,您的應用程序無法運行其他進程。您必須編譯C++代碼並將其鏈接到您的iOS應用程序,並直接調用它的函數(實質上替換它的main()
)。你介意說C++可執行文件是什麼?
popen()是C庫的一部分,所以它也應該在Objective-C中工作。也就是說,如果你在iOS上運行,我不認爲一個自定義應用程序可以直接啓動另一個,儘管我可能是錯的... –
@DariusMakaitis你是什麼意思的「直接」?間接怎麼走? – shblsh
如果您創建響應自定義URL方案的應用程序,則可以通過使用自定義方案打開URL來啓動該應用程序:https://developer.apple.com/library/ios/DOCUMENTATION/iPhone/conceptual/iPhoneOSProgrammingGuide/ AdvancedAppTricks/AdvancedAppTricks.html#// apple_ref/DOC/UID/TP40007072-CH7-SW50 –