SiarheiFedartsou / fastlane-plugin-versioning

Extends fastlane versioning actions. Allows to set/get versions without using agvtool and do some other small tricks.
MIT License
504 stars 60 forks source link

Xcode 11 > $(MARKETING_VERSION) #37

Closed ivanichoo closed 4 years ago

ivanichoo commented 4 years ago

Hello! Xcode has changed its version key for build version. It is now $(MARKETING_VERSION). Any update soon? Thanks!

Lyine0924 commented 4 years ago

see this issue [15322] (https://github.com/fastlane/fastlane/issues/15322) I thinks it will fix after version.

evgeniybaranov commented 4 years ago

hi, any news?

jdouglas-nz commented 4 years ago

Hi @evgeniybaranov - sorry for the long response. I have recently become a contributor, and am working on this now!

jdouglas-nz commented 4 years ago

The way it is going to work -- I am defining a couple new actions for explicitly interacting with the xcodeproject version metadata, or alternatively you can pass in a new flag to the existing plist methods, which will on detecting the $(BUILD_SETTING) type format of value, try and resolve from the xcodeproject.

ghost commented 4 years ago

Thanks so much for working on this @jdouglas-nz

jdouglas-nz commented 4 years ago

hey all. sorry for the slow turn-around on this one. Life has gotten real busy real fast.

I have an open PR here -- if any of you are Ruby devs by trade or know a lot of Ruby please feel free to have a look.

Also, Please let me know if the way it would work still works for your use-cases.

For example -- if you don't provide enough info to resolve a build/version number out of the xcodeproj, are you all fine with it just picking the first?

Do you often have build configs that have different build numbers?

At my current employer, we bump everything at the same time. I'm not sure if that is industry standard, but reach out if you have other default behaviour requests.

ghost commented 4 years ago

@jdouglas-nz Thank you so much! For me it's just a bug with ${MARKETING_VERSION) not working. So i'll always have enough info to resolve a version number.

We bump everything at the same time as well.

jdouglas-nz commented 4 years ago

@ivanichoo / @evgeniybaranov - if you haven't already - please update to v0.4.0 and check the new instructions on how to either make the existing plist getter/setters 'magically' move to a xcodeproj build setting (hint plist_build_setting_support flag) or switch to the new xcodeproj getters/setters. If the new functionality does what you need, please close this issue 👌

joliejuly commented 4 years ago

@jdouglas-nz hey there, I checked v0.4.0, and it works perfectly in my project. Thank you so much! Could you, please, provide a link to the new instructions about plist_build_setting_support flag?

upd sorry, found it: https://github.com/SiarheiFedartsou/fastlane-plugin-versioning#about-versioning

jdouglas-nz commented 4 years ago

@joliejuly no worries! If you hadn’t found it I would’ve sent you that way anyhow 😬

Please let me know if those ‘instructions’ are enough or if you’d like me to elaborate 👌

ivanichoo commented 4 years ago

works great ! thanks ! 👍

joliejuly commented 4 years ago

@jdouglas-nz The docs look very comprehensive to me 👍. Thank you!

luowei commented 4 years ago

我是使用 Xcodeproj 库顺利的解决了xcode11下fastlane 通过get_version_number获取不到版本号的问题。如下: 在Gemfile里添加:gem "xcodeproj"

project_version = get_version_number(xcodeproj: "xxxx.xcodeproj", target: "xxxx")
project = Xcodeproj::Project.open('../xxxx.xcodeproj')
target = project.targets.first
if project_version !~ /\d+\./
  target.build_configurations.each do |configuration|
    project_version = configuration.build_settings["MARKETING_VERSION"]
  end
end