2014-03-31 42 views

回答

1

下面的示例項目的領導似乎是一個好主意。

  1. 在finder中,在項目目錄結構中的某處創建一個名爲objc-codegenutils的新文件夾。
  2. 將以下文件複製/從official project目錄到該文件夾​​:
    • assetgen
    • codegenutils.xcodeproj
    • colordump
    • identifierconstants
    • 共用
  3. 將codegenutils.xcodeproj從它在Finder中的新位置放入Xcode項目導航器中。
  4. 添加新的運行腳本爲您的目標構建階段與代碼位於這篇文章的底部。
  5. 將「運行腳本」拖到「編譯源」步驟之上。
  6. (可選)將此步驟從運行腳本重命名爲objc-codegentools。
  7. 在Target Dependencies構建階段,點擊加號按鈕並選擇三個codegenutils)。
  8. 在項目的根文件夾(即下面引用的文件夾)中創建派生源文件夾。如果在生成項目時該文件夾不存在,它將在根文件夾中創建所有文件。
  9. 構建項目,以便自動生成源代碼文件。
  10. 將派生源文件夾從查找器拖到項目導航器。
  11. 您現在可以#IMPORT任意生成的文件,並開始使用它們(如#import "MYMediaCatalog.h"UIImage *image = [MYMediaCatalog myTestImage];
  12. 可選,#進口在.pch文件生成的文件,這樣你就不會需要手動#進口每一個。

設置這種方式的好處是,當項目更新時,您可以簡單地將objc-codegenutils中的所有內容替換爲更新的代碼,並且它應該可以工作。

運行腳本代碼:

DERIVED_SOURCES="$SRCROOT/Derived Sources" 
TOOL_PATH=$BUILD_ROOT/$CONFIGURATION 
$TOOL_PATH/objc-assetgen -f "$SRCROOT" -o "$DERIVED_SOURCES" -p MYP 
$TOOL_PATH/objc-colordump -f "$SRCROOT" -o "$DERIVED_SOURCES" -p MYP 
$TOOL_PATH/objc-identifierconstants -f "$SRCROOT" -o "$DERIVED_SOURCES" -p MYP 

注:用自己的3 letter identifier更換MYP。

如果您對生成文件的方式進行了任何更改(例如,如果創建新的故事板),則可以使用以下步驟重新創建派生源:

  1. 在Xcode中,刪除派生源組,選擇將文件發送到垃圾箱。 (警告:如果除了自動生成的文件夾外還有其他文件,請注意只選擇正確的文件。)
  2. 在finder中重新創建派生源。
  3. 構建項目。
  4. 將Finder Sources中的Derived Sources文件夾拖回到Xcode的項目導航器中。

注意:如果您在構建時遇到問題,請確保codegenutils.xcodeproj未打開(有時您必須重新啓動Xcode才能意識到它已關閉),並且您的目標已設置爲iOS而不是你的Mac。