Push Notification entitlement not being added via EAS Build

With iCloud Storage disabled, I no longer get the warning from Apple. So that is the workaround for now. For me, this is acceptable. I imagine this is not workable for most of you.

@zeneducate let us know when you create a GitHub issue so we can upvote, comment and follow along.

This might explain the issue weā€™re facing. One of the projects has the usesIcloudStorage option set, the other does not. Thanks for the detective work! :muscle:

Weā€™re using iCloud Storage too :+1: . Iā€™ll try to get the GitHub issue opened up today.

It should be fixed in [plist] Skip plist keys if value is undefined by wkozyra95 Ā· Pull Request #4109 Ā· expo/expo-cli Ā· GitHub

new expo-cli needs to be published and we need to deploy that version to builder. Iā€™ll post here when itā€™s deployed.

1 Like

Fix was deployed
Note that this is addressing the fact that the entitlements file was malformed when icloud storage is enabled. Iā€™m not sure if this fixes iCloud configuration itself.

1 Like

Iā€™ve installed expo-cli 5.0.5 and Iā€™m testing now. Is that all we should need to do?

cli update is not necessary, (we needed to update version of expo-cli on builders)
just rebuilding should be enough

1 Like

Thank you!

Are there any issues filed about iCloud config issues? Or is the undefined property one that is optional?

The Apple docs are not clear on whether the com.apple.developer.icloud-container-environment entitlement is optional or not. It is supposed to be ā€œDevelopmentā€ or ā€œProductionā€. I am making a build now, I will see if it works. @zeneducate let us know if it works for you.

It looks like we have a successful build ā€“ no warnings from Apple at least. Going into testing via TestFlight now. Iā€™ll update you.

New build works for me. Entitlement is correct and iCloud storage functions as expected. Thank you for finally fixing this Expo!

Confirmed working for us now too. Thanks @wkozyra and everyone else for debugging.

@ wkozyra, I hate to dredge up old topics, but this is still happening for me. Iā€™m not using expo-notifications, so Iā€™ve set the aps-environment entitlement in the app.config.js file under ios.entitlements. After I used EAS Build for my production app and then EAS Submit, I get the email from Apple with the ITMS-90078 error.

Iā€™ve also noticed that when building the development version of my app that sometimes when I boot up the app, it will tell me that there is no valid value for aps-environment. And then Iā€™ll build the app again and it will start working. Is it possible there are runners being used that have old code?

Update: Iā€™ve also noticed that when you run expo prebuild and it creates the folders, the AppName.entitlements file is not showing in XCode so it seems itā€™s not being added in properly.
For now, I think Iā€™ll have to stop using the ios.entitlements property and use my own plugin to properly create and add this file to the xcode workspace.

Second Update: It looks like using the withEntitlementsPlist config plugin does the exact same thing as adding them to ios.entitlements :man_facepalming:. I still donā€™t know why the <AppName>.entitlements is not being recognized within xcode.