簡體   English   中英

如何為 iOS 和 macOS 構建混合的 package?

[英]How do I build a package that is hybrid for iOS and macOS?

如何在 Xcode 11 上的 package 內處理旨在在 iOS、macOS、tvOS 等不同目標上運行的代碼?

我的意思是:我有代碼要轉換為 package。 This code has storyboards for macOS and for iOS and swift classes to run with these storyboards, or in other words, swift classes to run on macOS and others to run on iOS.

我希望能夠創建一個可以在任何項目上導入的 package,如果該項目僅是 iOS、僅 mac 或具有兩種架構的目標,則獨立。

最大的問題是 package 沒有目標,我可以在其中為其分配文件。

蘋果有這個例子,他們告訴你可以指定平台。

let package = Package(
    name: "MyPackage",
    platforms: [
        .macOS(.v10_13), .iOS(.v11), .tvOS(.v11),
    ],

但正如預期的那樣,他們的文檔沒有顯示如何。

我怎么做?

SwiftPM 目前不支持情節提要和其他資產,因此您不能對它們執行此操作。

如果您只有源代碼,那么您可以使用#if os(iOS) / #if os(macOS)塊來圍繞特定操作系統的所有文件內容。

您需要將所有文件放在同一個產品中,以便使用模塊在任何地方都使用import TheNameOfYourModule ,而不是使用 iOS/macOS 特定的導入語句。

暫無
暫無

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

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