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

Error when building an app that has a Siri Shortcuts app extension #1023

Closed
tylerc opened this issue Mar 17, 2022 · 2 comments
Closed

Error when building an app that has a Siri Shortcuts app extension #1023

tylerc opened this issue Mar 17, 2022 · 2 comments

Comments

@tylerc
Copy link

tylerc commented Mar 17, 2022

Build/Submit details page URL

Prod app: https://expo.dev/accounts/tylerchurch/projects/pixifi/builds/b62ff226-7024-45e4-9017-e2b21e5942ca

Minimal demo app: https://expo.dev/accounts/tylerchurch/projects/expo-eas-app-extension-test/builds/113b7d6d-233a-4881-a492-d6153b13c98e

Summary

I'm adding a Siri Shortcuts app extension to the Xcode project generated by Expo via mods. I can build and run locally with expo run:ios, but building with eas build -p ios yields the following error during the archive code signing step:

❌  error: No profiles for 'com.tylerchurch.expoeasappextensiontest.ExpoEasAppExtensionTestIntents' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.tylerchurch.expoeasappextensiontest.ExpoEasAppExtensionTestIntents'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'ExpoEasAppExtensionTestIntents' from project 'ExpoEasAppExtensionTest')

Build failed: Fastlane build failed with unknown error. Please refer to the "Run fastlane" and "Xcode Logs" phases.
Fastlane errors in most cases are not printed at the end of the output, so you may not find any useful information in the last lines of output when looking for an error message.

This error looks very similar to this: #795 except that issue is closed as fixed, and I'm still having the problem :)

For whatever it's worth, I can get eas build -p ios --local to work if I use a custom Gymfile that uses Xcode-managed signing instead of whatever Expo is doing (had to do some hacky things to undo the Xcode project modifications EAS does).

Managed or bare?

managed (but with some native extensions thanks to mods and EAS build)

Environment

$ npx expo-env-info
npx: installed 1 in 0.904s

  expo-env-info 1.0.2 environment info:
    System:
      OS: macOS 12.2.1
      Shell: 5.8 - /bin/zsh
    Binaries:
      Node: 14.18.2 - ~/.nvm/versions/node/v14.18.2/bin/node
      Yarn: 1.22.10 - /opt/homebrew/bin/yarn
      npm: 6.14.15 - ~/.nvm/versions/node/v14.18.2/bin/npm
      Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
    Managers:
      CocoaPods: 1.11.2 - /Users/tylerchurch/.rbenv/shims/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
    IDEs:
      Android Studio: Bumblebee 2021.1.1 Patch 2 Bumblebee 2021.1.1 Patch 2
      Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
    npmPackages:
      babel-preset-expo: 9.0.2 => 9.0.2 
      expo: ^44.0.0 => 44.0.6 
      react: 17.0.1 => 17.0.1 
      react-dom: 17.0.1 => 17.0.1 
      react-native: 0.64.3 => 0.64.3 
      react-native-web: 0.17.1 => 0.17.1 
    npmGlobalPackages:
      eas-cli: 0.48.1
      expo-cli: 5.3.0
    Expo Workflow: bare

Error output

See above.

Reproducible demo or steps to reproduce from a blank project

Here's a repo that demonstrates the issue: https://github.com/tylerc/expo-eas-app-extension-test The code here is identical to our production app, but the identifiers have changed names and everything not related to Siri Shortcuts has been removed.

The steps to reproduce are:

  1. Replace com.tylerchurch.expoeasappextensiontest in this project with a unique identifier that is usable by your
    Apple Developer account.
  2. npm install
  3. expo run:ios
  4. It will likely fail due to the identifier not having the SiriKit capability. Open up https://developer.apple.com and
    add the SiriKit capability.
  5. rm -rf ios; expo run:ios --no-build-cache
  6. The app should now be running, displaying a message like Shortcuts says: null. If you open the Apple Shortcuts app
    and add a shortcut that uses the app, you'll see the data appear when you run it.
  7. eas build -p ios - This will fail in the archive step with a code signing error.
@tylerc tylerc added the bug Something isn't working label Mar 17, 2022
@wkozyra95
Copy link
Contributor

each extension requires provisioning profile and distributions certificate, eas cli does not know what will exisist after prebuild is executed on the server so it can't generate those credentials before.

We are working on a way to define that, but for now the only way is to provide your credentials in credentials.json file, you can check how one signal is approaching it https://github.com/OneSignal/onesignal-expo-plugin/discussions/63

@wkozyra95 wkozyra95 removed the bug Something isn't working label Mar 18, 2022
@tylerc
Copy link
Author

tylerc commented Mar 23, 2022

We are working on a way to define that,

@wkozyra95 is there any canonical github issue or other place I can follow for updates on this feature?

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

2 participants