fix(fastlane): populate whatsNew on new App Store version before review
submit_for_review failed with "appStoreVersions ... is not in valid state - missing required attribute 'whatsNew'". Apple requires a non-empty "What's New" string on every new version. With skip_metadata, deliver never sets it, so we populate it ourselves via spaceship for every existing localization on the edit version.
This commit is contained in:
@@ -56,6 +56,18 @@ platform :ios do
|
|||||||
# and won't auto-create one when skip_metadata + skip_screenshots are set.
|
# and won't auto-create one when skip_metadata + skip_screenshots are set.
|
||||||
app.ensure_version!(app_version, platform: Spaceship::ConnectAPI::Platform::IOS)
|
app.ensure_version!(app_version, platform: Spaceship::ConnectAPI::Platform::IOS)
|
||||||
|
|
||||||
|
# Apple requires a non-empty "What's New" on every new App Store version
|
||||||
|
# before it can be submitted for review. With skip_metadata: true, deliver
|
||||||
|
# never sets this, so we populate it directly per-locale.
|
||||||
|
edit_version = app.get_edit_app_store_version(platform: Spaceship::ConnectAPI::Platform::IOS)
|
||||||
|
release_notes = "Bug fixes and improvements."
|
||||||
|
edit_version.get_app_store_version_localizations.each do |localization|
|
||||||
|
if localization.whats_new.to_s.strip.empty?
|
||||||
|
UI.message("Setting whatsNew on #{localization.locale}")
|
||||||
|
localization.update(attributes: { whatsNew: release_notes })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
deliver(
|
deliver(
|
||||||
api_key: api_key,
|
api_key: api_key,
|
||||||
app_identifier: APP_IDENTIFIER,
|
app_identifier: APP_IDENTIFIER,
|
||||||
|
|||||||
Reference in New Issue
Block a user