2016-06-21 32 views
0

我正在編寫用Objective-C編寫的a project on Github。它將MAC地址解析爲製造商詳細信息。查找表當前存儲爲文本文件manuf.txt(來自Wireshark項目),該文件在運行時解析,代價高昂。我寧願將它編譯到構建時的歸檔對象,然後加載它。向Xcode框架項目添加兩個新階段

我想修改的構建階段,這樣我:

  1. 構建一個簡單的編譯器
  2. 編譯運行,解析manuf.txt和輸出存檔對象
  3. 構建框架
  4. 複製歸檔對象進入框架

我在尋找關於如何實現的智慧由於Xcode僅提供Copy Files階段或Run Script階段,所以使用Xcode v7.3執行步驟1和2。其他實現類似目標的項目的例子會令人鼓舞。

回答

1

我懷疑你問的是可能的,但棘手。原因是您需要編寫一堆類文件,然後將其動態添加到項目中。

首先,您需要使用運行腳本階段來從命令行運行各種工具來解析您的文件並從中生成許多類文件。我會建議尋找各種模板引擎。例如,appledoc使用鬍鬚模板來生成API文檔文件。你可以使用相同的技術來生成頭文件和實現文件。

接下來,不是生成存檔對象,而是嘗試導入到框架中。我認爲您可能會更好地生成原始源代碼,將其添加到項目中並編譯爲框架。從長遠來看可能更簡單。

要自動包含生成的代碼,我會查看(這意味着我沒有真正嘗試過:-)添加文件夾引用而不是Xcode組。文件夾引用是「添加文件到...」對話框中的一個選項。

文件夾引用指的是一個目錄,並自動將該目錄的全部內容添加到項目中。因此,您可以使用一個指向您已經生成源代碼的目錄。這比試圖操縱項目或將事物注入已建立的框架要好得多。

0

我寧願在運行時解析文件。啓動後,您可以查找現有的輸出,否則一次解析它。

但是,我必須在Objective-Cloud上做類似的事情。我只是添加了一個運行腳本構建階段,並將編譯器調用放入其中。