2015-04-30 64 views
23

嵌入式二進制文件,我能夠創造的iOS框架Xcode中所示的是視頻: -與iOS框架

https://youtu.be/86cPaa3FrRg?t=4m55s

在5:00他們說,框架必須被加入到嵌入式二進制文件。 如果我將它添加到嵌入的二進制文件,那麼它的工作原理。

不需要將GoogleAds.framework添加到嵌入式二進制文件。 與Googles解決方案相比,添加到嵌入式二進制文件看起來有點「黑客」。 所以我認爲這個教程缺少一些步驟。

我的問題是:如何讓一個框架,而不將其添加到嵌入二進制文件的工作?

+1

您能否重新說明您的問題?我相信你會問:「我怎樣才能創建一個可以在沒有將其添加到嵌入二進制文件中的框架?」 – pteofil

+0

是的。這是我問的問題 – Tema

回答

12

TL;博士他們是兩個框架,但它們是不同的類型。


術語「框架」是不明確的。在OSX上,它意味着封裝的動態庫(即.dylib,頭文件,其他內容),但是在iOS 8用戶無法創建動態庫之前,發明了「靜態框架」來提供封裝的靜態庫(即.a,頭文件和其他內容)。

如果你需要創建的框架與應用作爲嵌入式的二進制打包,然後這聽起來像一個動態的框架,但是如果谷歌廣告不那麼我懷疑這是一個靜態的框架。它不需要嵌入,因爲它已經鏈接到應用程序二進制文件中。

如果你想知道如何創建一個靜態的框架,然後開始here,或谷歌爲「iOS的靜態框架」。

+1

謝謝!你是第一個和解決方案的遊戲鏈接。 – Tema

9

到iOS 8之前,開發商出貨即是通過模仿蘋果的框架的目錄結構與靜態庫拼湊不支持框架。他們工作,但他們很痛苦,他們是static - 不是動態庫。

從iOS 8開始,Apple正式支持在Xcode中構建第三方動態框架。這些類型的框架是代碼簽名的,並且必須放置在您的應用程序的嵌入式二進制文件中。如果您鏈接到它們但未能將它們放入嵌入式二進制文件中,嘗試在設備上運行並且您的應用程序將崩潰時,您將遇到異常。

從長遠來看,我希望像GoogleAds.framework砍死在一起的框架,現在官方的框架支持可消失。這意味着您必須習慣將框架放入嵌入式二進制文件中。

除非你需要用你的代碼支持iOS 7(在這種情況下官方框架不是一個選項,因爲它們只能在iOS 8上運行),所以我建議不要在此時創建不支持的框架類型。