Как изменить версию настройки сборки в Xcode 11, используя скрипт? - PullRequest
1 голос
/ 28 октября 2019

Поскольку Xcode 11 изменил версию на $ (MARKETING_VERSION) & Build на $ (CURRENT_PROJECT_VERSION)

в настройке сборки есть новое поле

enter image description here

Как я могу изменить это значение с помощью скрипта из-за того, что

xcrun agvtool new-version

xcrun agvtool new-marketing-version

работает не так, как на Xcode 10

Я попробовал это https://stackoverflow.com/a/58164679/7332815, но не работает

Я могу получить только правильное значение из

echo $versionNumber 
echo $buildNumber

, но как мне установить новое значение?

1 Ответ

1 голос
/ 31 октября 2019

Окей, я нашел решение для себя, и благодаря другу из Meetup.

для номера версии enter image description here Я использовал sed -i '' -e 's/MARKETING_VERSION \= [^\;]*\;/MARKETING_VERSION = 3.4.5;/' ${YOUR_PROJECT_NAME}.xcodeproj/project.pbxproj

например sed -i '' -e 's/MARKETING_VERSION \= [^\;]*\;/MARKETING_VERSION = 3.4.5;/' DemoProject.xcodeproj/project.pbxproj

обратите внимание, что это не может работать в предварительной настройке схемы

Что касается версии сборки enter image description here Я использовал xcrun agvtool new-version xxx

например xcrun agvtool new-version 3.4.5b

вы можете написать эти команды в Фазах сборки

enter image description here

причина, по которой я не использую xcrun agvtool new-marketing-version 3.4.5b это потому, что он запишет сплошное число в plist.

И я согласен с ответом Мануэля в Post

С этим я могу управлять многоцелевым версионированием

ps. Если вы хотите сделать это, например, с целью уведомлений, не забудьте сначала изменить версию и номер сборки вручную, чтобы Xcode 11 изменил соответствующее значение на переменную, подобную этой enter image description here

или вы можете сделать это, отредактировав plist в исходном коде, конечно.

Это самый близкий метод, который мне удается использовать для управления множествомверсия i-target пока что.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...