Files
FamilyMealPlanner/fastlane/Fastfile
T
2026-06-06 17:07:09 +02:00

56 lines
1.5 KiB
Ruby

default_platform(:ios)
# Credentials: App Store Connect API key via `pass`.
# The api_key block uses the key inline — no session/2FA needed.
platform :ios do
EXPORT_OPTIONS = {
method: "app-store",
signingStyle: "manual",
manageAppVersionAndBuildNumber: false,
provisioningProfiles: {
"com.alexandrevazquez.mealmood" => "com.alexandrevazquez.mealmood AppStore",
"com.alexandrevazquez.mealmood.widget" => "com.alexandrevazquez.mealmood.widget AppStore"
}
}
def asc_api_key
app_store_connect_api_key(
key_id: `pass show appstore/api-key-id`.strip,
issuer_id: `pass show appstore/issuer-id`.strip,
key_content: `pass show appstore/api-key-p8`.strip,
in_house: false
)
end
desc "Push a new beta build to TestFlight"
lane :beta do
increment_build_number(xcodeproj: "MealMood.xcodeproj")
build_app(
scheme: "MealMood",
export_method: "app-store",
sdk: "iphoneos26.5",
export_options: EXPORT_OPTIONS
)
upload_to_testflight(
api_key: asc_api_key,
skip_waiting_for_build_processing: true
)
end
desc "Push a new release build to the App Store"
lane :release do
increment_build_number(xcodeproj: "MealMood.xcodeproj")
build_app(
scheme: "MealMood",
sdk: "iphoneos26.5",
export_options: EXPORT_OPTIONS
)
upload_to_app_store(
api_key: asc_api_key,
automatic_release: true,
force: true
)
end
end