Create an app profile for your extension
You can use fastlane produce function to create an app profile for your extension. If you already have an app profile in Apple Developer portal, pass this instruction.lane :createAppProfile do
produce(
app_identifier: “com.victorchoi.x.OneSignalNotificationServiceExtension",
app_name: “victorchoi OneSignalNotificationServiceExtension",
skip_itc: true
)
Create a provisioning profile
Then you need to create a certificate and a provisioning profile for your extension. I use fastlane match to easily create and manage a certifcate and a provisioning profile.lane :codesign do
match(
app_identifier: ["com.victorchoi.x”,”com.victorchoi.x.OneSignalNotificationServiceExtension"],
type: "appstore",
)
Download the provisioning profile and save into your CI/CD server
Lastly, you need to make sure that your CI/CD server has the provisioning profile to build. At this step, you must have two provisioning profile for your app. So let’s configure your provisioning profile in the build process. In this case, I use fastlane gym to build them.provisioningProfiles: {
“com.victorchoi.ios” => "match AppStore com.victorchoi.ios“,
“com.victorchoi.x.OneSignalNotificationServiceExtension" => "match AppStore com.victorchoi.x.OneSignalNotificationServiceExtension"
}
Building your CI/CD process takes time. So I hope this article helps you not to spend much time on it.