|
1 | 1 | XCODE_PROJ = "DevLog.xcodeproj" |
2 | 2 | APP_IDENTIFIER = "opfic.DevLog" |
| 3 | +WIDGET_IDENTIFIER = "opfic.DevLog.DevLogWidget" |
| 4 | +APP_IDENTIFIERS = [APP_IDENTIFIER, WIDGET_IDENTIFIER] |
3 | 5 | TARGET_NAME = "DevLog" |
| 6 | +WIDGET_TARGET_NAME = "DevLogWidgetExtension" |
4 | 7 | TESTFLIGHT_BUILD_OUTPUT_DIRECTORY = File.expand_path("testflight_build", __dir__) |
5 | 8 | TESTFLIGHT_IPA_OUTPUT_PATH = File.join(TESTFLIGHT_BUILD_OUTPUT_DIRECTORY, "#{TARGET_NAME}.ipa") |
6 | 9 |
|
@@ -76,23 +79,32 @@ platform :ios do |
76 | 79 | match( |
77 | 80 | api_key: api_key, |
78 | 81 | type: "appstore", |
| 82 | + app_identifier: APP_IDENTIFIERS, |
79 | 83 | readonly: ENV["CI"] == "true" |
80 | 84 | ) |
81 | 85 |
|
82 | 86 | if ENV["CI"] == "true" |
83 | | - provisioning_profile_specifier = lane_context[SharedValues::MATCH_PROVISIONING_PROFILE_MAPPING][APP_IDENTIFIER].to_s |
84 | | - UI.user_error!("Missing App Store provisioning profile mapping for #{APP_IDENTIFIER}") if provisioning_profile_specifier.empty? |
85 | | - |
86 | | - update_code_signing_settings( |
87 | | - use_automatic_signing: false, |
88 | | - path: XCODE_PROJ, |
89 | | - sdk: "iphoneos*", |
90 | | - team_id: ENV["APP_STORE_TEAM_ID"], |
91 | | - targets: [TARGET_NAME], |
92 | | - build_configurations: ["Release"], |
93 | | - code_sign_identity: "Apple Distribution", |
94 | | - profile_name: provisioning_profile_specifier |
95 | | - ) |
| 87 | + profile_mapping = lane_context[SharedValues::MATCH_PROVISIONING_PROFILE_MAPPING] |
| 88 | + signing_targets = { |
| 89 | + TARGET_NAME => APP_IDENTIFIER, |
| 90 | + WIDGET_TARGET_NAME => WIDGET_IDENTIFIER |
| 91 | + } |
| 92 | + |
| 93 | + signing_targets.each do |target_name, app_identifier| |
| 94 | + provisioning_profile_specifier = profile_mapping[app_identifier].to_s |
| 95 | + UI.user_error!("Missing App Store provisioning profile mapping for #{app_identifier}") if provisioning_profile_specifier.empty? |
| 96 | + |
| 97 | + update_code_signing_settings( |
| 98 | + use_automatic_signing: false, |
| 99 | + path: XCODE_PROJ, |
| 100 | + sdk: "iphoneos*", |
| 101 | + team_id: ENV["APP_STORE_TEAM_ID"], |
| 102 | + targets: [target_name], |
| 103 | + build_configurations: ["Release"], |
| 104 | + code_sign_identity: "Apple Distribution", |
| 105 | + profile_name: provisioning_profile_specifier |
| 106 | + ) |
| 107 | + end |
96 | 108 | end |
97 | 109 |
|
98 | 110 | build_app( |
|
0 commit comments