'" npx cap add ios" fails with error "Updating iOS native dependencies with pod install - failed!"

I just created a brand new Ionic app, using command "ionic start myApp blank"

I added the necessary angular dependencies to get "ionic serve" working properly.

I have installed capacitor using the following commands

npm install @capacitor/cli @capacitor/core
npx cap init

npm install @capacitor/ios @capacitor/android

My Package.json looks as follows,

{
  "name": "myApp",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "~12.1.1",
    "@angular/core": "~12.1.1",
    "@angular/forms": "~12.1.1",
    "@angular/platform-browser": "~12.1.1",
    "@angular/platform-browser-dynamic": "~12.1.1",
    "@angular/router": "~12.1.1",
    "@capacitor/android": "^3.2.4",
    "@capacitor/app": "1.0.3",
    "@capacitor/core": "^3.2.4",
    "@capacitor/haptics": "1.1.0",
    "@capacitor/ios": "^3.2.4",
    "@capacitor/keyboard": "1.1.0",
    "@capacitor/status-bar": "1.0.3",
    "@ionic/angular": "^5.5.2",
    "rxjs": "~6.6.0",
    "tslib": "^2.2.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~12.1.1",
    "@angular-eslint/builder": "~12.0.0",
    "@angular-eslint/eslint-plugin": "~12.0.0",
    "@angular-eslint/eslint-plugin-template": "~12.0.0",
    "@angular-eslint/template-parser": "~12.0.0",
    "@angular/cli": "~12.1.1",
    "@angular/compiler": "~12.1.1",
    "@angular/compiler-cli": "~12.1.1",
    "@angular/language-service": "~12.0.1",
    "@capacitor/cli": "^3.2.4",
    "@ionic/angular-toolkit": "^4.0.0",
    "@types/jasmine": "~3.6.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "@typescript-eslint/eslint-plugin": "4.16.1",
    "@typescript-eslint/parser": "4.16.1",
    "eslint": "^7.6.0",
    "eslint-plugin-import": "2.22.1",
    "eslint-plugin-jsdoc": "30.7.6",
    "eslint-plugin-prefer-arrow": "1.2.2",
    "jasmine-core": "~3.8.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~6.3.2",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "typescript": "~4.2.4"
  },
  "description": "An Ionic project"
}

I ran the following commands, which worked

rm -r "./www"
rm -r "./ios"
ng build

After this I am trying to run the following command ionic capacitor add ios (or) npx cap add ios

which is erroring out as follows

✔ Adding native Xcode project in ios in 29.98ms
✔ add in 30.56ms
✔ Copying web assets from www to ios/App/App/public in 864.98ms
✔ Creating capacitor.config.json in ios/App/App in 699.86μp
(node:25320) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /Users/493055/Desktop/dev/IonicExperiment/myApp/node_modules/tslib/package.json.
Update this package.json to use a subpath pattern like "./*".
(Use `node --trace-deprecation ...` to show where the warning was created)
✔ copy ios in 908.37ms
✔ Updating iOS plugins in 5.66ms
[info] Found 4 Capacitor plugins for ios:
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
✖ Updating iOS native dependencies with pod install - failed!
✖ update ios - failed!
[error] ERR_SUBPROCESS_NON_ZERO_EXIT

AND

(base) AMBIN01978:myApp 493055$ ionic capacitor add ios
> npm i -E @capacitor/ios@latest
npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/


up to date in 5s

136 packages are looking for funding
  run `npm fund` for details
> capacitor add ios
[capacitor] ✔ Adding native Xcode project in ios in 32.31ms
[capacitor] ✔ add in 33.30ms
[capacitor] ✔ Copying web assets from www to ios/App/App/public in 696.66ms
[capacitor] ✔ Creating capacitor.config.json in ios/App/App in 446.33μp
[capacitor] (node:25522) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /Users/493055/Desktop/dev/IonicExperiment/myApp/node_modules/tslib/package.json.

[capacitor] Update this package.json to use a subpath pattern like "./*".
[capacitor] (Use `node --trace-deprecation ...` to show where the warning was created)
[capacitor] ✔ copy ios in 715.44ms
[capacitor] ✔ Updating iOS plugins in 4.48ms
[capacitor] [info] Found 4 Capacitor plugins for ios:
[capacitor]        @capacitor/[email protected]
[capacitor]        @capacitor/[email protected]
[capacitor]        @capacitor/[email protected]
[capacitor]        @capacitor/[email protected]
[capacitor] ✖ Updating iOS native dependencies with pod install - failed!
[capacitor] ✖ update ios - failed!
[capacitor] [error] xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
[capacitor]         
[ERROR] An error occurred while running subprocess capacitor.
        
        capacitor add ios exited with exit code 1.
        
        Re-running this command with the --verbose flag may provide more information.

Have been breaking my head with this issue for a couple of days now. Any help is greatly appreciated



Solution 1:[1]

I ran the following command in the terminal

sudo xcode-select --reset

and got rid of the error for me

Solution 2:[2]

after this run following command line by line

  1. cd ios
  2. cd App
  3. pod install
  4. cd ..
  5. cd ..

and then check by ionic cap open ios problem solved :) :)

Solution 3:[3]

If you have an M1 - the issue is likely with Cocoapods.

If the other answers here fail, try:

sudo arch -x86_64 gem install ffi

then inside ios/App

arch -x86_64 pod install

then, to see if it works:

cd..

cd..

npx cap sync

Solution 4:[4]

Please use the below command:

  1. Initial remove ios on this project - Visual studio code

rm -r iOS

  1. Add ios on project

npx cap add ios
npx cap sync

  1. You have facing any issue on pod install or plugin issue (E.x) No podspec found for Capacitor when running pod update or install

npm i @capacitor/ios

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 kathikeyan A
Solution 2 44_Chintan Vasoya
Solution 3 J0hannes
Solution 4 Srinivasan_iOS