2010-07-04 43 views
1

我剛開始在Xcode中編程,我試圖編寫一個iphone應用程序。我從一個簡單的Iphone開發模板開始,並從那裏開始。現在我想構建一個命令行工具(用於轉換數據),它重用了我的iphone項目中的一些類。我設法添加一個新的目標'convert',將適當的源代碼鏈接到目標,使目標依賴於主目標。一切都會建立,迄今爲止非常好,但它不會生成正確的可執行文件,它只會構建不能從命令行運行的build/Debug-iphonesimulator/convert(我猜是因爲它沒有鏈接到正確的庫)。如何在iphone項目中構建命令行工具

~/Documents/XCode/SQLiteTutorial> ./build/Debug-iphonesimulator/convert 
dyld: Symbol not found: _OBJC_CLASS_$_NSCharacterSet 
    Referenced from: /Users/marc/Documents/XCode/SQLiteTutorial/./build/Debug-iphonesimulator/convert 
    Expected in: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 
in /Users/marc/Documents/XCode/SQLiteTutorial/./build/Debug-iphonesimulator/convert 
Trace/BPT trap 

這是可能的xcode在所有?我不確定你需要什麼樣的額外信息來回答這個問題,所以讓我知道要提供什麼,如果有的話。

親切的問候, Marc van Kempen。

回答

1

如果您完全創建了一個完全不同的項目,然後將其拖入您想要重用的相關類中,而不是複製它們,只是使用了對它們的引用?將類文件拖入組&文件窗格時,請勿選擇「將項目複製到目標文件夾」選項。這樣你的CL項目總是使用主iPhone版本的最新版本。

儘管如此,所有在一個項目中,毫無疑問會更清潔。

+0

謝謝,我試過這個解決方案,它的工作原理。正如你所說,這不是最理想的情況,但它現在會做。仍然好奇其他人如何解決這個問題,在更大的項目中,這一定是一個問題。 – 2010-07-04 20:20:38

+0

這就是我爲我的Mac/iPhone跨平臺項目所做的,因爲我還沒有遇到過在一個項目中爲兩個平臺構建不同目標的簡單方法。我建議觀看有關Xcode 4的WWDC 2010視頻,因爲(沒有通過討論太多來破壞NDA),這使得它更易於管理。 – 2010-07-04 22:32:27

+0

我做了同樣的事,但它不起作用。我只需要使用一個類文件來完成要連接到我的命令文件中的任務,所以我只需要引用該類文件,但是當我構建項目時,它有很多錯誤,因爲我引用的類文件使用了很多主iphone項目的基礎核心類,我必須爲主iphone項目中的所有文件做參考嗎? – ivanceras 2010-07-28 09:46:38

0

iPhone SDK不正式支持構建命令行工具。 iPhone不運行命令行工具;至少,並非沒有越獄。

+0

對不起,這並不意味着在iPhone上運行,但在我的開發機器上運行。它是一種將數據轉換爲iPhone應用程序所包含的工具。 所以我想要的是在同一個項目中構建一個iPhone應用程序和一個Mac OS X命令行應用程序,或者任何其他配置,這將允許我能夠重用iPhone應用程序中表示數據的類。 – 2010-07-04 16:56:32

+0

有道理。請更新您的問題,並忽略我的答案:-)。 – 2010-07-05 15:59:02

相關問題