-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OneSignalNotificationServiceExtension provisioning profile? #40
Comments
Howdy,
It sounds like something in your environment is preventing automatic signing as I'm not seeing that error on my end. |
Hmm, how can I check the Xcode workspace for a managed workflow? I don't see the |
When I try building the native project (
It does create an Could the Thanks so much! |
@rgomezp we're having the same issue although I can see the right bundle identifier on Xcode UI. We pass ios credential files when we run EAS build. Do you think if it is something to do with this? Does anyone know if setting If because it's the first error I see on the console log after EAS build runs |
I didn't set |
@ raunaqsingh2020 Thanks for sharing your config. Then I guess FYI I think You can follow rgomezp's instruction to check the bundle identifier by opening Xcode with the file. |
is there any update as to whether this is an issue with the plugin or our setups? thanks again! |
I don't have Xcode (I work on PC), I rely on EAS Build to build my ios apps. So, I have no idea how to verify if automatic signing is the issue. And if it were, I don't know how to fix it. |
Just adding another point of anecdata, also seeing this error. It seems like automatic signing is disabled when running our eas managed build based on the error message (no issues for android build). However, when I run |
I was running into the same issue. To resolve this issue first I had to create another bundle identifier and provisioning profile as stated here. I've missed this first. Then I also had to setup credential source to local with multi target credentials.json as it is here because EAS didn't pull the extensions provisioning profile even if that was submitted from the credentials.json to EXPO (That wasn't straightforward either). Or if I don't want to use local credentials then I had to run
Now it gave me a new error commented here To resolve this I had to patch the If anyone knows what I've missed in order to skip these patches to get it to work I'd appreciate it :) |
Hi. I'm facing same issue, same error. But I rely completely on (remote) |
Hey I tried to follow your comment. Here's what I have right now: Identifiers:
Profiles:
My credentials.json is similar to what you did but I am now receiving the following errors:
Did you get any these errors as well? and if so, how did you resolve them? thanks! |
The bundle identifier for onesignal must have the same app group entitlement setting as your mobile app.
Get Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
From: Raunaq Singh ***@***.***>
Sent: Sunday, January 9, 2022 3:07:21 AM
To: OneSignal/onesignal-expo-plugin ***@***.***>
Cc: Richárd Pétercsák ***@***.***>; Mention ***@***.***>
Subject: Re: [OneSignal/onesignal-expo-plugin] OneSignalNotificationServiceExtension provisioning profile? (Issue #40)
@r1cs1<https://github.com/r1cs1>
Hey I tried to follow your comment. Here's what I have right now:
Identifiers:
* com.thedailypennsylvanian.mobileapp
* com.thedailypennsylvanian.mobileapp.OneSignalNotificationServiceExtension
Profiles:
* com.thedailypennsylvanian.mobileapp.profile
* com.thedailypennsylvanian.OneSignal.profile
My credentials.json is similar to what you did but I am now receiving the following errors:
❌ error: Provisioning profile "com.thedailypennsylvanian.OneSignal.profile" doesn't support the group.com.thedailypennsylvanian.mobileapp.onesignal App Group. (in target 'OneSignalNotificationServiceExtension' from project 'DP')
❌ error: Provisioning profile "com.thedailypennsylvanian.OneSignal.profile" doesn't match the entitlements file's value for the com.apple.security.application-groups entitlement. (in target 'OneSignalNotificationServiceExtension' from project 'DP')
Did you get any these errors as well? and if so, how did you resolve them?
thanks!
—
Reply to this email directly, view it on GitHub<#40 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ADLBRNUHQ6NNPNNADETIKOTUVDUVTANCNFSM5K6JNCDQ>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
IMPORTANT NOTICE: This e-mail message is intended to be received only by persons entitled to receive the confidential information it may contain. E-mail messages to clients of Fribbit may contain information that is confidential and legally privileged. Please do not read, copy, forward, or store this message unless you are an intended recipient of it. If you have received this message in error, please forward it to the sender and delete it completely from your computer system.
|
Howdy y'all, @r1cs1 Regarding the error with related to Pods, the latest release (beta 9) now includes the ability to configure which deployment target the NSE should use. This needs to match the version in the generated Podfile. iOS 10 was dropped in Expo 41 and iOS 11 was dropped in Expo 43. Thus, a custom patch is no longer needed. See the README for the new deployment target config param customization instructions. @raunaqsingh2020 , For context, the app group is added for you automatically by the plugin based on the |
I still see the eas build error below with beta 9, with my app configured with automatically managed credentials.
|
I also see the same error with beta 9, any luck so far with this issue? |
Howdy folks, Perhaps this article will help. Please let me know and I will do my best to try to get to the bottom of this. |
I am also having this issue, I have let EAS do everything for me including creating the profiles and certificates yet this error is still happening. We really want to use One Signal for our new app. |
Just following up @rgomezp, I think the issue is actually with EAS rather than this repo. Even after following up the provisioning profile setup, EAS fails to build the app. But building it with |
@frossetto , I found the following resources on Expo's site:
If the issue is with EAS as you mention, I'd recommend you go through each of those thoroughly to make sure you have covered all the requirements. Did you succeed?@raunaqsingh2020 @r1cs1 @seyaobey-dev @lisaah @jparksecurity @javascripter @russriser I'd like to gauge the level of success from everyone else while building with EAS. Has anyone here been able to successfully set up EAS on their app with the OneSignal Expo Plugin integrated? |
I have successfully set up EAS on my app with the OneSignal Expo Plugin integrated. FYI, I use local credential , and I have no idea if it would make any difference on this particular issue. However, I can not use this plugin on production now because of a few problems:
|
So far I haven't been able to build successfully on EAS with EAS managed credentials and I still use 1.0.0-beta7 in my app which does not require ONSE. In my observation running |
@rgomezp Sorry for the late reply, I followed the steps for all the links and I can relate to the same issue that @javascripter has; |
Hi
|
Sorry for the late reply. I was able to successfully set it up! Here's what my final setup process looked like: I had to create and use local credentials (different ones for production and development). So, make sure to have On the Apple developer console (developer.apple.com), I created two identifiers: Next, create provisioning profiles on the Apple developer console as well. I created both Ad hoc and App Store provisioning profiles (for local development and production builds respectively) with both identifiers (4 provisioning profiles in total). Then, download the provisioning files (.mobileprovision) and place them somewhere in your directory. My credentials.json file looked like this:
Hopefully that helps! |
I haven't revisited this for iOS yet; we went with using expo-notifications with native tokens for now. |
I was able to successfully build with EAS managed workflow by using local credentials as @r1cs1 and @raunaqsingh2020 described. I have a couple notes for creating a new identifier and provisioning profiles in the apple dev portal....
one last note: make sure to build with BOTH identifiers containing the AppGroup simultaneously. I tried to build with just the OneSignalNotificationServiceExtension having the AppGroup, then added the capability to the main app identifier when it didn't work.....but doing them one by one screwed something up. I then had to remove both, rebuild to get the original error, then build it again with both identifiers enabling the AppGroup capability. |
Thank you everyone for helping out. I will put together a guide to make this process easier! |
Update: I went ahead and put together a guide that can be found in the discussion forums. If you would like to make suggestions on the doc before it is finalized, please leave a comment in the above-linked discussion thread. Thanks for everyone who helped. Also included below. Provisioning Setup for iOS1. Credentials SetupTo build successfully, you will need to create and use local credentials (one for production and development). Add 2. IdentifiersIn your Apple developer console create two identifiers with the following format:
When modifying your existing main app identifier:
When creating a new identifier for
|
So if I'm hearing this right, the "solution" here is that if we want to use OneSignal with Expo, we lose the (huge) benefit of having Expo manage our provisioning credentials for us? That's quite frustrating, and it seems like something that really shouldn't be necessary here. Why is the separate |
Also @rgomezp the link to that discussion forum is giving me a 404: https://github.com/OneSignal/onesignal-expo-plugin/discussions/63 |
@tsheaff at the time this PR was closed Expo had no way of managing credentials for projects with multiple targets (your app and the OS service extension are each a target). This capability might exist now, but I'm not sure. At the time, Expo had JUST made an update to their EAS build process which enabled multi-taget builds under the managed workflow...prior to that you would have had to eject from Expo completely. The NotificationServiceExtension is a fairly recent requirement by Apple. One cannot utilize push notifications without an extension. And this extension becomes a new "target" in XCode builds. Since Expo runs the XCode builds for you, any XCode settings you want to use need to be implemented in EAS. Implementing every XCode setting is impractical, so they prioritize the most used settings. So again, they might have implemented multi-target credentials management by now (I don't know), but we should be glad they've implemented multi-target builds at all I still use this plugin with the credentials.json and it works fine. Haven't had to touch my credentials file since I first got it set up. |
Thanks @russriser great answer! As for the Thanks for the help! This has been managed by EAS previously, and the guide here is a bit incomplete w/r/t certificates (it's very thorough regarding the App IDs / App Groups piece) |
Oh I think I misread that UI. I thought I was adding APNS to the cert, but it's an either/or, I think "iOS Distrbution" is the one I want. Trying that now. |
@tsheaff You should be able to use a single distribution certificate for everything. But things may have changed a bit in the year+ since I set this up. I don't remember creating an Apple Push Notification Service SSL. That might be new, or you might not need to do that. |
I had this error during my build with Codemagic.io I created a ipa file from xcode (flutter build ipa) and pushed that to testflight: that created a provisioning profile for me and now it compiles fine. |
I was facing an error related to provisioning profiles while working on my project. Here’s what worked for me: I realized that I was selecting the provisioning profile linked to my Apple ID Team instead of using the one associated with my project's team. Switching to the correct provisioning profile resolved the issue. Solution |
@rgomezp We have custom targets in our app that automatically get credentials generated for them in EAS builds, using the Could that be a good way to do credential handling? The current state of the implementation with Expo is not exactly plug & play 💔 Some debug info, if it helps: Here is the build log of our expo build now, you can see liveActivities being signed:
And the build error itself:
It seems a provisioning profile that is seemingly correct exists: |
I'm not familiar with that plugin unfortunately. It looks like it's still experimental. However, the intended purpose appears to be target management rather than credential handling. Expo should automatically create credentials based on the targets you have. I suppose it's possible that plugin is removing the OneSignal extension target. I would suggest putting this plugin first in your plugin config and seeing if that helps. If that doesn't work, remove EvanBacon's plugin, make sure you can get this plugin working without it, and then try re-adding it. |
You were completely right. It did a overwrite of the extension target array. |
I had the exact same error and experience as you nixolas1. Once I placed the From: plugins: [
...,
[
'onesignal-expo-plugin',
{
mode: 'development',
devTeam: 'XXX',
},
],
[
'@bacons/apple-targets',
{
appleTeamId: 'XXX',
},
],
...,
], to: plugins: [
...,
[
'@bacons/apple-targets',
{
appleTeamId: 'XXX',
},
],
[
'onesignal-expo-plugin',
{
mode: 'development',
devTeam: 'XXX',
},
],
...,
], |
Hi, I am getting the following Fastlane error when I try to build for iOS (
eas build --profile development --platform ios
):❌ error: No profiles for 'bundle id.OneSignalNotificationServiceExtension' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'bundle id.OneSignalNotificationServiceExtension'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'OneSignalNotificationServiceExtension' from project '***')
Do I have to manually create an additional identifier (.OneSignalNotificationServiceExtension) and then a provisioning profile for this?
The plugin works perfectly when I comment all the OneSignal related code out before the build, and then uncomment it all after running
expo start --dev-client
.Thanks so much!
The text was updated successfully, but these errors were encountered: