簡體   English   中英

對設備和模擬器使用不同的框架

[英]Use different framework for device and simulator

我得到了兩個相同框架的相同代碼庫,它們是作為兩個單獨的框架提供的:一個用於iOS設備,一個用於模擬器

有沒有一種方法可以根據我的應用程序的目標有條件地包含一個或另一個?

您可以編寫腳本階段,以使用某些條件(可能是目標體系結構)替換框架文件。

這是解決方案。 假設iOS設備和模擬器的框架位於$device resp文件夾中。 $simulator 合並后的框架將進入$merged

  • 將所有內容從$simulator復制到$merged
  • 將所有內容從$device復制到$merged (確保這將覆蓋我們在上一步中復制的同名二進制文件,但我們只想確保我們擁有其他所有內容(模塊映射等);實際合並同名二進制文件二進制文件將在下一步中發生)
  • 對於$simulator$device都存在的每個名稱$name二進制文件(main和* .dylib),請執行以下操作: lipo -create $device/name $simulator/$name -output $merged/$name

以上內容可以通過腳本輕松實現自動化。

我通過與Flutter一起使用的一組框架驗證了該方法的有效性。 最簡單的方法是將$merged文件夾作為供應商框架添加到podspec文件中

暫無
暫無

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

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