The certificate / provisioning profiles can be mapped by app id
, and build schemes
, which named with release
, or custom names like appStore
, appStore_forA
, appStore_forB
.
I has an app, with 2 different app id
. ex, app_A
, and app_B
. I distinguish them by build scheme. One is appStore_A
, and another is appStore_B
.
In my fastlane
file, it likes following.
// For build app_A, and upload to TestFlight.
lane: app_A do
api_key = app_store_connect_api_key( /* for `pilot` auth */)
match(type: "appstore", readonly: true, git_url: "ooxx@match.storage")
gym(
clean: true,
scheme: "appStore_A",
configuration: "AppStore",
workspace: "app.xcworkspace",
)
pilot(
app_identifier: "com.app_A",
api_key: api_key
)
end
// For build app_B, and upload to TestFlight.
lane: app_B do
api_key = app_store_connect_api_key( /* for `pilot` auth */)
match(type: "appstore", readonly: true, git_url: "ooxx@match.storage")
gym(
clean: true,
scheme: "appStore_B",
configuration: "AppStore",
workspace: "app.xcworkspace",
)
pilot(
app_identifier: "com.app_B",
api_key: api_key
)
end
app_A
, and app_B
use the same app.xcworkspace
, but they are in different scheme
and different app target
.