achorein / expo-share-intent-demo

React Native Expo Share Intent Demonstration
90 stars 9 forks source link

Getting error on yarn run ios with latest expo 49 expo router example #16

Closed umangloria closed 1 year ago

umangloria commented 1 year ago

Steps:

  1. Checkout the expo49-expo-router branch (expo 49)
  2. Follow instructions which are mentioned here:https://github.com/achorein/expo-share-intent-demo/tree/expo49-expo-router#getting-started
  3. After yarn run ios or yarn ios getting error

Error:

The following build commands failed:
        PhaseScriptExecution [CP-User]\ Generate\ Specs /Users/umangloriya/Library/Developer/Xcode/DerivedData/exposhareintentdemo-aygxqpcfzuiuyydbcsktkpwpmbir/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-rncore.build/Script-46EB2E000158B0.sh (in target 'React-rncore' from project 'Pods')

Anything I might be missing here ?

achorein commented 1 year ago

🤔 can you provide more details, I doesn't have any problem with node 16 / yarn 1.22.19 and xcode 15, which version do you have ?

umangloria commented 1 year ago

Mostly same:

umangloriya@MacBook-Pro Expo Share intent % npx react-native info
info Fetching system and libraries information...
System:
  OS: macOS 13.5.2
  CPU: (10) arm64 Apple M1 Pro
  Memory: 97.23 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.17.0
    path: ~/.volta/tools/image/node/18.17.0/bin/node
  Yarn:
    version: 1.22.18
    path: ~/.volta/tools/image/yarn/1.22.18/bin/yarn
  npm:
    version: 9.6.7
    path: ~/.volta/tools/image/node/18.17.0/bin/npm
  Watchman:
    version: 2023.07.17.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.12.1
    path: /Users/umangloriya/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.0
      - iOS 17.0
      - macOS 14.0
      - tvOS 17.0
      - watchOS 10.0
  Android SDK:
    Android NDK: 22.1.7171670
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10671973
  Xcode:
    version: 15.0/15A240d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.14
    path: /usr/bin/javac
  Ruby:
    version: 2.7.6
    path: /Users/umangloriya/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.72.4
    wanted: 0.72.4
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false
achorein commented 1 year ago

Indeed, can you try to run the expo49 branch to know if it's an "expo-router" specific problem ? also make sure you don't have any space in your folder arborescence

umangloria commented 1 year ago

This is really strange because I tried to put everything in an existing expo project and guess what, It worked right away !!!. I think we can close this issue unless you want me to try again with expo49 branch alone. Also, this is really amazing work, However, I found a few issues is that when I pushed my changes from one device and tried to run the project from another machine, It gave me an error on shareExtension (ios pbxproject file). I looked deeper into it and found that it kept some paths of my previous system, Hence, I had to delete ios and android folders and do yarn install -> npx expo prebuild -> yarn run ios and then it works just fine. Do you have any suggestions on how we can fix this issue, I think it can be mostly project directory + whatever path we need to add that way project directory can remain dynamic. Also, How can we add pdf and audio file support ? I can open separate issues if you want me to :)

wodin commented 1 year ago

Hence, I had to delete ios and android folders and do yarn install -> npx expo prebuild -> yarn run ios and then it works just fine.

Any reason you can't just add android and ios directories to .gitignore?

achorein commented 1 year ago

android and ios folder should not be commited and indeed are in the .gitignore. in that case a yarn clear take care of regenerate ios and android native code.