我有一个包含四个目标的iOS项目,但我似乎无法获得特定目标的版本号。
通过以下测试:
lane :beta do
puts get_version_number(scheme: 'myApp', target: 'myApp')
end
我得到了这个输出:
[10:04:05]: --------------------------------
[10:04:05]: --- Step: get_version_number ---
[10:04:05]: --------------------------------
[10:04:05]: Using deprecated option: '--scheme' (true)
[10:04:05]: $ cd /Users/diego/myApp/ios && agvtool what-marketing-version -terse
[10:04:05]: ▸ "myApp.xcodeproj/../myApp-tvOS/Info.plist"=1.0
[10:04:05]: ▸ "myApp.xcodeproj/../myApp-tvOSTests/Info.plist"=1.0
[10:04:05]: ▸ "myApp.xcodeproj/../myApp/Info.plist"=0.9
[10:04:05]: ▸ "myApp.xcodeproj/../myApp Tests/Info.plist"=1.0
[10:04:05]: 1.0
返回的版本号为1.0,因为我为此目标指定了scheme
和target
,因此我预期为0.9 - "myApp.xcodeproj/../myApp/Info.plist"=0.9
修改
我已安装此plugin,它可以对构建版本和版本号进行更精细的控制。
答案 0 :(得分:-2)
以下是获取版本号的方法:
目标C:
NSString * appVersionString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
Swift< 3:强>
let appVersionString: String = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
斯威夫特3:
let appVersionString: String = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
如果您需要别的东西,请告诉我。