我正在使用 SwiftUI 開發一個專案,它最初是從創建一個新專案作為“應用程式”(Xcode,單擊檔案,新建,專案,單擊“應用程式”)開始的,但后來被要求將其放入 pod作為框架。我成功地做到了(Xcode,點擊檔案,新專案,點擊“框架”),但是我不確定有什么區別,我不確定我為什么要這樣做。對我來說,它們看起來非常相似,只是我無法在模擬器中將我的專案作為框架啟動。幸運的是 SwiftUI 提供了畫布預覽視窗,但是當涉及到某些按鈕互動時它有點挑剔,這就是我想要使用模擬器的原因。
混淆的兩個地方:
- 應用程式和框架專案有什么區別?
- 為什么將我的專案作為框架更有利?
uj5u.com熱心網友回復:
應用程式是可以啟動和運行的獨立應用程式。例如,您手機上的所有應用程式都只是——應用程式。你點擊它們,它們就會啟動并運行,呈現用戶界面,接受輸入等。
框架完全是另一回事。它是捆綁在一起的代碼集合,由另一個框架或應用程式使用。系統提供了一些框架——例如,SwiftUI 是一個聽起來像是您在應用程式中使用的框架。其他框架由第 3 方提供。例如,您可以通過 CocoaPods 或 Swift Package Manager 找到許多框架——Alamofire 是一個常見的例子。此外,您可以制作自己的框架并在您自己的代碼中使用它們作為一種組織形式和職責分離。
為什么將我的專案作為框架更有利?
事實并非如此——它們是兩個幾乎完全不同的概念(除了最終都是代碼和資源的集合)。如果您打算構建一個可以在某人的設備上啟動的應用程式,那么您唯一的選擇就是制作一個應用程式。如果您打算制作一組可重用代碼以在您或其他人的應用程式中使用,那么您將制作一個框架。
uj5u.com熱心網友回復:
@jnpdx 的優秀答案(并投票贊成)。我給你舉個物理例子:
(1)在 Xcode 中創建一個專案,它是一個框架。稱之為“MyAppKit”。在它里面,基本上可以創建任何東西 - a View、UIView,或者更可能是一個將由多個視圖共享的函式。(讓我們一起去吧。)
public func setLoginName(_ login:String) -> String {
return ""Hello, " login "!";
}
很簡單。呼叫它,傳入一些東西,它回傳一個字串說你好。請注意這public件作品。這很重要。(還有更多。這是一個簡單的例子。)
(2) 現在我們可以訪問您的一個或多個應用程式。假設您有兩個應用程式需要使用此(同樣,非常簡單)代碼。一種是 SwiftUI,一種是 UIKit。(除了語法,這無關緊要。)因為我的強項是 UIKit,所以我會使用它。(它也可以是幾十個應用程式。)
import MyAppKit
let myLoginMessage = setLoginName("World").
幾乎是“你好,世界!”
同樣,這確實是一個荒謬的例子。但它應該讓您開始了解 Xcode 中 Framework 專案和 App 專案之間的區別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316647.html
