簡體   English   中英

可以將xcode項目構建到沒有源代碼的靜態庫中嗎?

[英]Can you build an xcode project into a static library that doesn't have source code in it?

我有一個Objective-C iPad應用程序,我想從中構建一個不透明的靜態庫,因此我可以將其提供給使用X代碼進行測試的測試人員,而無需提供源代碼。 我怎樣才能做到這一點?

使用“靜態庫”目標。 將源添加到目標並進行構建。 由於將Objective-C編譯為機器代碼,因此生成的庫僅是二進制的。 就是說,例如,Objective-C二進制文件不像C ++那樣難於挖掘。 由於Objective-C使用運行時調度,因此保留了許多符號名稱。 在命令行上使用classdump ,用戶仍將至少能夠學習二進制文件中的類和選擇器。 如果這是不可接受的,那么您將不得不考慮使用純C語言編寫庫(我不鼓勵您使用C ++,因為它會要求客戶端僅使用Objective-C ++才能使用您的庫)。

Objective-C已編譯,因此只需對其進行編譯,然后分發二進制文件。

如果您希望收件人能夠在設備和模擬器上進行測試,請構建一個胖庫。 我喜歡這篇關於胖二進制文件的文章

靜態庫本身並不是很有用。 您可能需要復制整個項目,刪除除main.m之外的所有標頭和源,並添加靜態庫。 這樣,所有資源,框架和構建規則將保持不變。 然后發送庫,項目和所有資源。

除非有特定原因,否則您希望測試人員通過XCode訪問您的應用程序,否則,您可以為臨時分發構建二進制文件,該二進制文件可以安裝在最多100個設備上。 檢查iPhone的“臨時分發”。

暫無
暫無

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

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