Skip to content
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

[stderr] [11:09:40] [ios.entitlements]: withIosEntitlementsBaseMod: Entitlements plist is empty #60

Closed
GautierT opened this issue Feb 15, 2022 · 5 comments

Comments

@GautierT
Copy link

Hi.
On EAS from Expo when I run eas build --profile staging --platform ios
On the Prebuild step I have this error :

Prebuilding managed project
- Clearing ios
✔ Cleared ios code
- Creating native project directories (./ios and ./android) and updating .gitignore
✔ Created native project | gitignore already synced
- Adding Metro bundler config
✔ Added Metro config
- Updating your package.json scripts, dependencies, and main file
✔ Updated package.json and added index.js entry point for iOS and Android
- Config syncing
✖ Config sync failed
[stderr] [11:09:40] [ios.entitlements]: withIosEntitlementsBaseMod: Entitlements plist is empty
bash exited with non-zero code: 1

My plugins array from app.config.js is

"plugins": [
    "sentry-expo",
    "@react-native-mapbox-gl/maps",
    "@config-plugins/android-jsc-intl",
    [
      "@config-plugins/react-native-branch",
      {
        "apiKey": "BRANCH_API_KEY",
        "iosAppDomain": "test.app.link"
      }
    ],
    [
      "onesignal-expo-plugin",
      {
        "mode": "production"
      }
    ]
  ],

If i remove the onesignal-expo-plugin part the build is successful

Their is a provisioning profile configured by eas on my apple account like this :
image

And the app id configuration is associated to a production certificate.

I don't what I'm doing wrong on the config side.

Thanks.

@GautierT
Copy link
Author

I tried locally and the problem is the same :

If i remove

    [
      "onesignal-expo-plugin",
      {
        "mode": "production"
      }
    ]

The prebuild is okay.
Example locally :

❯ expo prebuild --platform ios --clean
Warning! Your git working tree is dirty.
It's recommended to commit all your changes before proceeding, so you can revert the changes made by this command if necessary.

✔ Would you like to proceed? … yes

✔ Cleared ios code
✔ Created native project | gitignore already synced
✔ Updated package.json and added index.js entry point for iOS and Android
🧶 Using Yarn to install packages. Pass --npm to use npm instead.
✔ Installed JavaScript dependencies 663ms
Update this package.json to use a subpath pattern like "./*".
(Use `node --trace-deprecation ...` to show where the warning was created)
✔ Config synced
✔ Installed pods and initialized Xcode workspace.

But with

❯ expo prebuild --platform ios --clean

Warning! Your git working tree is dirty.
It's recommended to commit all your changes before proceeding, so you can revert the changes made by this command if necessary.

✔ Would you like to proceed? … yes

✔ Cleared ios code

✔ Created native project | gitignore already synced
✔ Updated package.json and added index.js entry point for iOS and Android
🧶 Using Yarn to install packages. Pass --npm to use npm instead.
✔ Installed JavaScript dependencies 652ms
✖ Config sync failed
[ios.entitlements]: withIosEntitlementsBaseMod: Entitlements plist is empty

And indeed, ios/PROJECT/project.entitlements is empty

@jkasten2
Copy link
Member

@GautierT Thanks for reporting. Could you provide steps on reproducing the issue from a new project or share an existing project with the error?

@GautierT
Copy link
Author

Hi @jkasten2
It seems to be a compatibility problem with @config-plugins/react-native-branch
When I change the order of the plugins array and I put @config-plugins/react-native-branch last the entitlements are correctly set.

Don't Work ❌

"plugins": [
    "sentry-expo",
    "@react-native-mapbox-gl/maps",
    "@config-plugins/android-jsc-intl",
    [
      "@config-plugins/react-native-branch",
      {
        "apiKey": "BRANCH_API_KEY",
        "iosAppDomain": "test.app.link"
      }
    ],
    [
      "onesignal-expo-plugin",
      {
        "mode": "production"
      }
    ]
  ],

Work ✅

"plugins": [
    "sentry-expo",
    "@react-native-mapbox-gl/maps",
    "@config-plugins/android-jsc-intl",
    [
      "onesignal-expo-plugin",
      {
        "mode": "production"
      }
    ],
    [
      "@config-plugins/react-native-branch",
      {
        "apiKey": "BRANCH_API_KEY",
        "iosAppDomain": "test.app.link"
      }
    ]
  ],

Now I'm still fighting with the provisioning profile here with the others ! #40

Thanks !

@GautierT GautierT reopened this Feb 16, 2022
@rgomezp
Copy link
Contributor

rgomezp commented Feb 22, 2022

Howdy,
Thanks for reporting @GautierT .

We just released a new beta version that patches some issues related to the entitlements. I wonder if updating will resolve this issue for you. Please give it a shot and update here.

In terms of the provisioning profile problems, are you seeing this issue exclusively in the cloud build environment (EAS)? We are investigating that issue but unfortunately, the fastlane error doesn't provide much info regarding the failure. We're working with Expo directly to try to get it resolved. Leave your response / any extra details in the corresponding ticket.

Cheers

@rgomezp
Copy link
Contributor

rgomezp commented Mar 25, 2022

Closing due to inactivity

@rgomezp rgomezp closed this as completed Mar 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants