I am trying to build my Expo app with a Share Extension using the expo-share-intent
package, but I am running into provisioning profile issues when running:
eas build --local --platform ios --profile production
My app builds fine when im not using the package, but when I install the package and set it up per the instructions,
The build fails with the following error first:
[RUN_FASTLANE] [!] Error building the application - see the log above [RUN_FASTLANE] Error: Starting from Xcode 14, resource bundles are signed by default, which requires setting the development team for each resource bundle target. To resolve this issue, downgrade to an older Xcode version using the "image" field in eas.json, or turn off signing resource bundles in your Podfile: /r/disable-bundle-resource-signing
I can resolve this by manually selecting the Team for both my project + the share extension in Xcode.
But then I receive this error next:
No profiles for 'x.share-extension' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'x.share-extension'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'ShareExtension' from project 'exposhare')
It seems like EAS is only recognizing and handling credentials for the main app, but not for the Share Extension. I’ve created a new project to test this, and I experience the same issue.
Is there a way to get EAS to recognize the Share Extension and automatically generate a provisioning profile for it? I thought using the package it would automatically handle this? Do I need to set up something manually to get this working?
It looks like expo is creating the Identifier for the Share Extension within Certificates, Identifiers & Profiles
Environment
- Expo SDK: 52.0.28
- Package: expo-share-intent 3.2.0
- Routing: expo-router
- Using Firebase: Yes
- Xcode: 16.2
app.json
{
"expo": {
"name": "expo-share",
"slug": "expo-share",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "expo-share",
"userInterfaceStyle": "automatic",
"newArchEnabled": true,
"ios": {
"supportsTablet": true,
"bundleIdentifier": "x"
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/images/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "x"
},
"web": {
"bundler": "metro",
"output": "static",
"favicon": "./assets/images/favicon.png"
},
"plugins": [
"expo-router",
[
"expo-splash-screen",
{
"image": "./assets/images/splash-icon.png",
"imageWidth": 200,
"resizeMode": "contain",
"backgroundColor": "#ffffff"
}
],
[
"expo-share-intent",
{
"iosActivationRules": {
"NSExtensionActivationSupportsWebURLWithMaxCount": 1,
"NSExtensionActivationSupportsWebPageWithMaxCount": 1,
"NSExtensionActivationSupportsImageWithMaxCount": 1,
"NSExtensionActivationSupportsMovieWithMaxCount": 1
},
"androidIntentFilters": [
"text/*",
"image/*",
"video/*"
]
}
]
],
"experiments": {
"typedRoutes": true
},
"extra": {
"router": {
"origin": false
},
"eas": {
"projectId": "x"
}
},
"owner": "x"
}
}
eas.json
{
"cli": {
"version": ">= 14.5.0",
"appVersionSource": "remote"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
},
"submit": {
"production": {}
}
}