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 an Apple Watch companion app #795

Closed
yolpsoftware opened this issue Nov 25, 2021 · 5 comments · Fixed by #821
Closed

Error when building an app that has an Apple Watch companion app #795

yolpsoftware opened this issue Nov 25, 2021 · 5 comments · Fixed by #821
Assignees
Labels
bug Something isn't working

Comments

@yolpsoftware
Copy link

Summary

As demonstrated in the following example project

https://github.com/yolpsoftware/eas-watch-test

eas build throws an error if you attempt to publish an app that has an Apple Watch companion app.

This can be reproduced with the following steps:

  • expo init eas-watch-test
  • cd eas-watch-test
  • expo eject
  • cd ios && pod install && cd ..
  • Then open ios/easwatchtest.xcodeworkspace in Xcode
  • File --> New --> Target
  • Choose platform watchOS
  • Choose Watch App for iOS App
  • Product name "eas-watch-test", choose a team, and deselect "Include Notification Scene"
  • Save and quit Xcode
  • Run eas build and confirm all default options

The build will fail with the following error message:

error: No profiles for 'com.yolpsoftware.easwatchtest.watchkitapp.watchkitextension' were found: Xcode
couldn't find any iOS App Development provisioning profiles matching
'com.yolpsoftware.easwatchtest.watchkitapp.watchkitextension'. Automatic signing is disabled and unable
to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target
'eas-watch-test WatchKit Extension' from project 'easwatchtest')

Please note that according to Apple, you need to publish the app as one package. If you build it in Xcode, it will bundle everything in one package, even though we have more than one build target. To me, it seems that eas build tries to submit the Watch app separately.

Environment

EAS CLI 0.38.1 environment info:
System:
OS: macOS 12.0.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 17.0.1 - /opt/homebrew/bin/node
Yarn: 1.22.17 - /opt/homebrew/bin/yarn
npm: 8.1.0 - /opt/homebrew/bin/npm
Utilities:
Git: 2.32.0 - /opt/homebrew/bin/git
npmPackages:
expo: ~43.0.2 => 43.0.3
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.38.1
expo-cli: 4.13.0

Error output

No response

Reproducible demo or steps to reproduce from a blank project

See description.

@yolpsoftware yolpsoftware added the bug Something isn't working label Nov 25, 2021
@yolpsoftware
Copy link
Author

Please note that the error happens even though automatic signing is on, both in Xcode:

image

and in eas-cli. The same procedure without the Apple Watch companion app would not generate a "no profiles found" error.

So the "Automatic signing is disabled" part of the error message does not seem right.

@sweetpalma
Copy link

For everybody lurking around:
Adding Watckit Extension to the iOS app dependency list helps to bypass this issue.

143566790-382707d0-f7ac-49e6-8676-f502abc0509d

@yolpsoftware
Copy link
Author

I can confirm @sweetpalma 's solution works and prevents the original error.

So this ticket might be closed, but perhaps the Expo team could add a warning that properly describes what's missing.

@dsokal
Copy link
Contributor

dsokal commented Dec 6, 2021

@yolpsoftware @sweetpalma This should be fixed in the latest eas-cli version.

@jonstuebe
Copy link

Is there a way to do this without ejecting?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants