簡體   English   中英

如何在iOS中制作通用框架?

[英]How to make universal framework in iOS?

我創建了一個項目(項目 1) ,其中我正在創建一個框架,我想在不同的項目(項目 2)中使用它,就像任何其他框架(項目中的拖放)一樣。

我的問題

但是,當我創建框架(在項目 1 中)時,當我在項目 2 中使用此框架時,在 xcode 中保持設備選擇,它僅適用於設備而不適用於模擬器。 反之亦然,如果我在項目 1 中創建框架並在 xcode 中選擇模擬器並在項目 2 中使用此框架,則它僅適用於模擬器。

錯誤是

在此處輸入圖片說明

我正在努力實現的目標

我從項目 1 創建的框架應該在項目 2 中的設備和模擬器上運行。

以下是我在兩個項目中的設置

在此處輸入圖片說明

Xcode 將根據選定的目標構建框架。 如果為模擬器構建框架,架構將是 X86_64,i386,另一方面,對於設備,它將是 armv7、arm64。 可以使用如下的 lipo 命令檢查框架的架構。

lipo -info sample.frameowrk/sample

現在,在您的情況下,您希望您的框架應該同時支持模擬器和設備。 因此,您需要結合兩個框架(為設備和模擬器構建)並使用 lipo 命令創建一個 FAT 框架,如下所示:

lipo <path to framework build for simulator>/simulator.framework <path to framework build for device>/device.framework -create -output universal.framework

產生的通用框架將支持這兩個平台。 您可以查看通用框架支持的架構如下:

lipo -info universal.framework/universal 

output : arm64,armv7,x86_64,i386

暫無
暫無

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

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