如何将演示应用程序目标添加到 Swift 程序包?
How can I add a demo app target to a Swift Package?
我希望包含一个带有 Swift 自定义控件包的演示应用程序,其中显示了每个控件的实现演示。有没有一种方法可以将其包含在 Swift 包中(并且 develop/test 控件直接包含在包中)?
什么样的应用程序? SwiftPM 仅直接支持 macOS/Linux 个可执行文件。
如果您想要一个 iOS/tvOS/watchOS,您将需要一个 Xcode 项目,该项目 link 使用相对路径来查找您的包。这是通过创建示例应用程序并将包的包含目录拖到 Xcode 项目中来完成的。然后您可以 link 图书馆。如果您将此示例应用程序与包一起放在存储库中,那么它将与克隆该包的任何人一起分发。
我自己做这件事时注意到的一件重要事情(这几乎肯定是 Xcode 中的错误)是 Package.swift
和 Example.xcodeproj
不能在同一个目录中。您必须将 Xcode 项目嵌套到另一个目录中,否则它会经常出现问题 building/linking。因此,如果您 运行 对我的建议有任何疑问,也可以试试这个创可贴。
我在 GitHub here 上创建了一个适用于 Xcode 11.3 的示例。
最好的方法是使用“Xcode 工作区”。
它是如何工作的?
1.创建您的工件
创建目录。
在其中创建一个 Xcode 工作区(Xcode:文件:新建:工作区)。然后创建您的库(包),并在同一目录中创建您的应用程序(任何类型)。
这一步只要把包和app放到上面的目录下,马上关闭即可。
应该是这样的。
2。 Link你的神器
打开您的 .xcworkspace 文件。
点击左下角的“+”号。
Select“添加文件到your_workspace_name”,然后:
a) 演示应用
导航到应用程序的目录,select Your_app.xcodeproj 并点击添加。
b) 包裹
导航到包的目录,select 仅导航到包目录。在点击“添加”按钮之前,请确保“为任何添加的文件夹创建文件夹引用”已 selected。
您的整个工作区现在应该如下所示。您可以立即将库导入您的应用程序,然后就可以开始了。
以下是在 Xcode 13 上对我有用的步骤:
- 创建一个名为
MyLibrary
的包
- 在包目录
中创建一个新的项目应用程序MyLibraryDemo
打开项目的 .xcodeproj
文件
前往 PROJECT
> MyLibraryDemo
> Add packages
- 按
Add Local
和 select 包含您的包的目录
- 转到应用程序的
TARGET
> General
> Frameworks, Libraries and Embeded Content
,然后按 'add'
- Select 列表中的包裹
- 现在您可以将
MyLibrary
包导入您的示例应用程序,并从您的演示项目中编辑/更新您的包。
我希望包含一个带有 Swift 自定义控件包的演示应用程序,其中显示了每个控件的实现演示。有没有一种方法可以将其包含在 Swift 包中(并且 develop/test 控件直接包含在包中)?
什么样的应用程序? SwiftPM 仅直接支持 macOS/Linux 个可执行文件。
如果您想要一个 iOS/tvOS/watchOS,您将需要一个 Xcode 项目,该项目 link 使用相对路径来查找您的包。这是通过创建示例应用程序并将包的包含目录拖到 Xcode 项目中来完成的。然后您可以 link 图书馆。如果您将此示例应用程序与包一起放在存储库中,那么它将与克隆该包的任何人一起分发。
我自己做这件事时注意到的一件重要事情(这几乎肯定是 Xcode 中的错误)是 Package.swift
和 Example.xcodeproj
不能在同一个目录中。您必须将 Xcode 项目嵌套到另一个目录中,否则它会经常出现问题 building/linking。因此,如果您 运行 对我的建议有任何疑问,也可以试试这个创可贴。
我在 GitHub here 上创建了一个适用于 Xcode 11.3 的示例。
最好的方法是使用“Xcode 工作区”。 它是如何工作的?
1.创建您的工件
创建目录。
在其中创建一个 Xcode 工作区(Xcode:文件:新建:工作区)。然后创建您的库(包),并在同一目录中创建您的应用程序(任何类型)。
这一步只要把包和app放到上面的目录下,马上关闭即可。
应该是这样的。
2。 Link你的神器
打开您的 .xcworkspace 文件。
点击左下角的“+”号。
Select“添加文件到your_workspace_name”,然后:
a) 演示应用
导航到应用程序的目录,select Your_app.xcodeproj 并点击添加。
b) 包裹
导航到包的目录,select 仅导航到包目录。在点击“添加”按钮之前,请确保“为任何添加的文件夹创建文件夹引用”已 selected。
您的整个工作区现在应该如下所示。您可以立即将库导入您的应用程序,然后就可以开始了。
以下是在 Xcode 13 上对我有用的步骤:
- 创建一个名为
MyLibrary
的包
- 在包目录 中创建一个新的项目应用程序
MyLibraryDemo
打开项目的
.xcodeproj
文件前往
PROJECT
>MyLibraryDemo
>Add packages
- 按
Add Local
和 select 包含您的包的目录
- 转到应用程序的
TARGET
>General
>Frameworks, Libraries and Embeded Content
,然后按 'add'
- Select 列表中的包裹
- 现在您可以将
MyLibrary
包导入您的示例应用程序,并从您的演示项目中编辑/更新您的包。