[英]How to add a Swift package manager as a dynamic library in xcode 13?
包可以生成动态库,但它们必须明确告诉 Xcode 他们希望将库制成动态库。 Realm 不这样做。 取而代之的是,Realm go 中的人们使用默认行为让 Xcode 决定是构建 ZA81259CEF8E5E59D26C 还是动态库。 据我所知,Xcode 总是选择构建一个 static 库。
为了解决这个问题,您可以创建自己的 package ,其中包括 Realm package 作为依赖项,并显式使您的库动态化。 您可以找到很多教程,向您展示如何制作 package,所以我不会在这里讨论。
If you create a package and load the following content into your Package.swift file, then import the package into your project, you will have solved your problem. 我将我的 package 命名为“RealmUmbrella”,但您可以随意称呼您的。
import PackageDescription
let package = Package(
name: "RealmUmbrella",
platforms: [.iOS(.v14)],
products: [
.library(
name: "RealmUmbrella",
type: .dynamic,
targets: ["RealmUmbrella"]
),
],
dependencies: [
.package(name: "Realm", url: "https://github.com/realm/realm-cocoa", "10.0.0"..<"11.0.0")
],
targets: [
.target(
name: "RealmUmbrella",
dependencies: [.product(name: "RealmSwift", package: "Realm")]
),
]
)
请注意我在此处指定.dynamic
的方式:
.library(
name: "RealmUmbrella",
type: .dynamic,
targets: ["RealmUmbrella"]
),
一旦我将我的 package 添加到我的项目中,我在项目导航器中单击项目文件,选择我的目标,然后导航到“常规”选项卡并向下滚动到“框架、库和嵌入式内容”。 然后我在我的 package 的“嵌入”列中指定了“嵌入和签名”。
就是这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.