diff --git a/fastlane/Fastfile b/fastlane/Fastfile index e80aeb3..d20033d 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -23,14 +23,24 @@ platform :ios do api_key = asc_api_key + versionNumber = get_version_number( + xcodeproj: "DevLog.xcodeproj", + target: "DevLog" + ) + + latestTestflightBuildNumber = latest_testflight_build_number( + api_key: api_key, + app_identifier: "opfic.DevLog", + version: versionNumber, + initial_build_number: 0 + ) + setup_ci if ENV["CI"] - if ENV["GITHUB_RUN_NUMBER"] - increment_build_number( - xcodeproj: "DevLog.xcodeproj", - build_number: ENV["GITHUB_RUN_NUMBER"] - ) - end + increment_build_number( + xcodeproj: "DevLog.xcodeproj", + build_number: latestTestflightBuildNumber + 1 + ) match( api_key: api_key, @@ -40,22 +50,31 @@ platform :ios do match( api_key: api_key, - type: "appstore", + type: "development", readonly: ENV["CI"] == "true" ) - matchProvisioningProfileMapping = lane_context[SharedValues::MATCH_PROVISIONING_PROFILE_MAPPING] || {} - provisioningProfileSpecifier = matchProvisioningProfileMapping["opfic.DevLog"].to_s.strip - - UI.user_error!("Missing provisioning profile mapping for opfic.DevLog") if provisioningProfileSpecifier.empty? + match( + api_key: api_key, + type: "appstore", + readonly: ENV["CI"] == "true" + ) - buildAppXcargs = [ - "-skipPackagePluginValidation", - "CODE_SIGN_STYLE=Manual", - "DEVELOPMENT_TEAM=#{ENV["APP_STORE_TEAM_ID"]}", - "CODE_SIGN_IDENTITY=#{Shellwords.escape("Apple Distribution")}", - "PROVISIONING_PROFILE_SPECIFIER=#{Shellwords.escape(provisioningProfileSpecifier)}" - ] + if ENV["CI"] == "true" + provisioningProfileSpecifier = lane_context[SharedValues::MATCH_PROVISIONING_PROFILE_MAPPING]["opfic.DevLog"].to_s + UI.user_error!("Missing App Store provisioning profile mapping for opfic.DevLog") if provisioningProfileSpecifier.empty? + + update_code_signing_settings( + use_automatic_signing: false, + path: "DevLog.xcodeproj", + sdk: "iphoneos*", + team_id: ENV["APP_STORE_TEAM_ID"], + targets: ["DevLog"], + build_configurations: ["Release"], + code_sign_identity: "Apple Distribution", + profile_name: provisioningProfileSpecifier + ) + end build_app( project: "DevLog.xcodeproj",