我已经创建了一个自己的pod,该pod具有包含s.version =“ 0.4.7”的podspec文件,我希望以编程方式将该代码添加到代码中,因此每当应用程序运行时,它将pod版本发送到服务器。
另一个获得pod版本的地方是从plist文件下面的文件,它是“捆绑版本字符串” 0.4.7
我尝试使用let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
,但它是从Apps Info.plist文件获取版本的。
答案 0 :(得分:3)
您可以通过特定的lib软件包来获得pod的版本。
首先,单击到Pods Project
文件,它将显示您在Podfile
中特定安装的所有库。
例如,我将获得像这样的RxSwift版本
步骤1:通过单击RxSwift目标>常规>复制Bundle Identifier
(org.cocoapods.RxSwift),获取RxSwift的捆绑包标识符
第2步:通过此代码获取版本
(请注意org.cocoapods.RxSwift
是您从第1步获得的信息)
if let version = Bundle(identifier: "org.cocoapods.RxSwift")?.infoDictionary?["CFBundleShortVersionString"] as? String {
print(version)
}
您可以获得这样的结果
"4.3.1"
答案 1 :(得分:0)
您可以更明确地检索包:Bundle(for: SomePodClass.self)
,
其中SomePodClass
是您的广告连播中的任何类。
为方便起见,您也可以将其转换为Pod中的扩展名:
public extension Bundle {
class var somePodName: Bundle {
return Bundle(for: SomePodClass.self)
}
}
为您的Pod编写一些配置文件:
public enum SomePodConfiguration {
static var version: String {
guard let version = Bundle.somePodName
.infoDictionary?["CFBundleShortVersionString"] as? String else { return "Unknown" }
return version
}
}
并最终获得Pod版本:
SomePodConfiguration.somePodName.version