簡體   English   中英

Xcode 4 iPhone Sim 需要 i386 嗎?

[英]Xcode 4 Needs i386 for iPhone Sim?

我升級到 Xcode 4。

如果我在 Xcode 4 中創建一個新的 iPad 項目,一切正常。 如果我在 Xcode 3 中創建一個項目,然后將其轉移到 Xcode 4,那也可以。

但是,我的一個項目無法編譯。 錯誤是:

No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv7).

為了讓它在模擬器中編譯和運行,我最終使用了這些設置:

XCode 4 中的怪異但有效的設置

將 i386 放入編譯和運行項目(感謝這個論壇帖子),但我的其他項目在有效架構中沒有i386 並且仍然可以工作。

我怎樣才能讓我的項目像其他人一樣?

注意:是的,我已經非常仔細地瀏覽了該項目(盡管在 XCode 中,而不是在 XML 中)並且非編譯版本確實看起來與它的編譯朋友完全一樣。

我遇到了完全相同的問題,並編寫了一個小 shell 腳本來以編程方式編輯需要添加 i386 的行(我在每次 git pull 和 tag checkout 后在我的測試工具中執行此操作)。

將以下代碼放在 shell 腳本中,然后在需要將 i386 添加到所有 VALID_ARCHS= 條目時運行它:

sed -i -e 's/.*VALID_ARCHS = armv7;.*/VALID_ARCHS = "armv7 i386";/g' project.pbxproj

哦,鑒於此腳本的直接簡單性,您需要在運行它時位於 project.pbxproj 文件所在的同一目錄中。

而且,正如暗示的那樣,它會進行全局行替換。 它替換 VALID_ARCHS = armv7 的每個實例; VALID_ARCHS = "armv7 i386"; 並且引號是必需的,否則 Xcode 將拋出錯誤,告訴您無法解析 project.pbxproj 文件。

在開發者論壇中,我遇到了使用文本編輯器編輯 .pbxproj 文件的人,並以這種方式將條目添加到 VALID_ARCHS 中。 當 XCode4 處理一些較舊的 XCode3 項目時,這似乎是一個問題(雖然我還沒有看到)。

我檢查了一個當前項目並且該行不存在,因此如果您看到此問題,請嘗試將其從您的 project.pbxproj 文件中刪除,然后重新啟動 XCode。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM