【发布时间】:2016-11-13 01:07:07
【问题描述】:
我目前正在尝试创建一种方法来在运行时记录我的 Pod 的当前版本,我想到了几种方法,但我想在这里询问以确保我没有遗漏一些明显的东西。
到目前为止我做了什么:
-
发现 Cocoapods 生成了一个
myPod-umbrella.h头文件,导出以下内容:FOUNDATION_EXPORT double myPodVersionNumber; FOUNDATION_EXPORT const unsigned char myPodVersionString[];他们只有
myPodVersionNumber似乎可以访问,并且由于某种原因它总是有 1.0,有没有办法让它正常工作,因为我觉得这是正确的方法,但我配置错误。 尝试获取已构建框架的 Info.plist 并在那里读取版本,但这似乎有点问题,我不能保证开发人员最终会用 pod 做什么并且可能会结束使用捆绑包的不同位置,甚至项目无法访问它。
使用版本号创建一个硬编码的属性,这显然可行,但它增加了很多错误空间,并且感觉不是实现这一点的正确方法,但如果没有其他方法可以解决CocoaPods,我可能只需要这样做。
有一个构建步骤,它将读取 PodSpec 并生成一个简单的类,其中包含有关 Pod 的元数据,感觉比前一点好一点,但对于我正在寻找的东西仍然感觉有点矫枉过正。
有没有人有更好的主意或可以指出正确的方向?
我想要实现的是能够运行这样的东西
print("Current version: \(myPod.version)")
并让它在控制台中正确注销
#Current version: 1.2.0
【问题讨论】:
-
您是否考虑过从
Podfile.lock文件中读取数据?这列出了已安装 Pod 的所有版本。 -
我需要在运行时这样做,这是我的主要问题
标签: ios objective-c swift cocoapods