'iOS - Running script '[CP] Embed Pods Frameworks' stuck in Github Actions

I'm setting up a CI pipeline for an iOS application using GitHub Actions.

When executing a build command:

  xcodebuild \
  -workspace xxx.xcworkspace \
  -scheme SecureImage \
  clean build | xcpretty

It gets stuck on Running script '[CP] Embed Pods Frameworks' until it times out based on the 2 hour time out I've set.

▸ Compiling Main.storyboard
▸ Compiling Albums.storyboard
▸ Processing Info.plist
▸ Running script '[CP] Embed Pods Frameworks'
Error: The operation was canceled.

After a lot of googling, I suspect the only thing that could be, is something to do with the keychain but I can't see what. This is my script for adding the certificates after decrypting them:

mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles

cp ./.github/secrets/Provisioning.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/Provisioning.mobileprovision


security create-keychain -p "" ~/Library/Keychains/build.keychain
security import ./.github/secrets/Certificates.p12 -t agg -k ~/Library/Keychains/build.keychain -P "" -A

security list-keychains -s ~/Library/Keychains/build.keychain
security default-keychain -s ~/Library/Keychains/build.keychain
security unlock-keychain -p "" ~/Library/Keychains/build.keychain

security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "" ~/Library/Keychains/build.keychain

I'm completely stuck.



Solution 1:[1]

i think you need to install pods before building

- name: Install CocoaPod Dependencies
      run: pod install

Solution 2:[2]

This doesn't seems to be an appropriate question to ask here, you can go through their official documentations, some courses maybe to learn react-native and its best practices. As for the questions you have asked, since you are learning react native now,

  1. Go with the latest navigation (v6)
  2. It's always a good practice to use redux for api calls.
  3. For UI, you can go with any library that suites your purpose, it does not have to be one, you can use multiple, based on what you want to achieve.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 ha100
Solution 2 Akshay Shenoy