expo / turtle

Standalone app builder service
MIT License
385 stars 29 forks source link

[build:ios] Error: codesign ident not present in find-identity #327

Closed pnarielwala closed 2 years ago

pnarielwala commented 2 years ago

Hello!

I'm trying to build my ios expo app locally and I'm running into an issue with the codesign ident. Any help is really appreciated!

Thanks!

New Issue Checklist

Issue Description

Command executed
$ expo fetch:ios:certs
$ turtle build:ios --team-id XXXXXXXX --dist-p12-path APP_dist.p12 --provisioning-profile-path APP.mobileprovision
Complete output when running turtle, including the stack trace and command used
 Aug 28 16:40:42 turtle[2790] INFO:  Cleaning up iOS...
  platform: "ios"
  buildPhase: "configuring NSBundle"
Aug 28 16:40:42 turtle[2790] INFO:  building and signing IPA
  platform: "ios"
  buildPhase: "building and signing IPA"
Aug 28 16:40:42 turtle[2790] INFO:  saved provisioning profile to temporary path
  platform: "ios"
  buildPhase: "building and signing IPA"
Aug 28 16:40:42 turtle[2790] INFO:  provisioning profile copied to home directory
  platform: "ios"
  buildPhase: "building and signing IPA"
Aug 28 16:40:42 turtle[2790] INFO:  done retrieving provisioning profile data
  platform: "ios"
  buildPhase: "building and signing IPA"
Aug 28 16:40:42 turtle[2790] INFO:  checking if teamID is present in keychain and that certificate is valid...
  platform: "ios"
  buildPhase: "building and signing IPA"
Aug 28 16:40:43 turtle[2790] INFO:  removed provisioning profile from the home directory
  platform: "ios"
  buildPhase: "building and signing IPA"
Aug 28 16:40:43 turtle[2790] ERROR: Error: codesign ident not present in find-identity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Looking for identities matching "(XXXXXXXXXXXX)"
     0 valid identities found

    at Object.ensureCertificateValid (/@expo/xdl@59.1.0/src/detach/IosCodeSigning.js:18:11)
    at Object.build (/@expo/xdl@59.1.0/src/detach/IosIPABuilder.js:31:32)
    at buildAndSignIPA (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:58:3)
    at Object.buildArchive [as default] (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:20:5)
    at iosBuilder (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/builders/ios/index.ts:33:7)
    at /Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/bin/utils/builder.ts:87:7
    at Command. (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/bin/index.ts:23:12)
  platform: "ios"
Aug 28 16:40:43 turtle[2790] INFO:  delete keychain...
  platform: "ios"
  buildPhase: "deleting keychain"
Aug 28 16:40:43 turtle[2790] INFO:  deleting keychain...
  platform: "ios"
  buildPhase: "deleting keychain"
Aug 28 16:40:50 turtle[2790] INFO:  done deleting keychain
  platform: "ios"
  buildPhase: "deleting keychain"
Aug 28 16:40:50 turtle[2790] ERROR: Failed to build standalone app
  err: Error: codesign ident not present in find-identity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  Looking for identities matching "(XXXXXXXXXXXX)"
       0 valid identities found

      at Object.ensureCertificateValid (/@expo/xdl@59.1.0/src/detach/IosCodeSigning.js:18:11)
      at Object.build (/@expo/xdl@59.1.0/src/detach/IosIPABuilder.js:31:32)
      at buildAndSignIPA (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:58:3)
      at Object.buildArchive [as default] (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:20:5)
      at iosBuilder (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/builders/ios/index.ts:33:7)
      at /Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/bin/utils/builder.ts:87:7
      at Command. (/Users/parthnarielwala/.nvm/versions/node/v14.17.5/lib/node_modules/turtle-cli/src/bin/index.ts:23:12)
  platform: "ios"

Environment

 Expo CLI 4.11.0 environment info:
    System:
      OS: macOS 11.5.2
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 14.17.5 - ~/.nvm/versions/node/v14.17.5/bin/node
      Yarn: 1.22.11 - /usr/local/bin/yarn
      npm: 6.14.14 - ~/.nvm/versions/node/v14.17.5/bin/npm
    SDKs:
      iOS SDK:
        Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
    IDEs:
      Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild
    npmPackages:
      expo: 42.0.3 => 42.0.3 
      react: 16.13.1 => 16.13.1 
      react-dom: 16.13.1 => 16.13.1 
      react-native: https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz => 0.63.2 
      react-native-web: ~0.13.12 => 0.13.18 
    npmGlobalPackages:
      expo-cli: 4.11.0
    Expo Workflow: managed

UPDATE: My certs also were active and not expired and followed all the above solutions and still couldn't figure it out until I installed the certificate on this forum answer post https://developer.apple.com/forums/thread/662300 and it worked!

rcrvano commented 2 years ago

I have the same error

...
Sep 22 01:25:11 turtle[4899] INFO:  Cleaning up iOS...
  platform: "ios"
  buildPhase: "configuring NSBundle"
Sep 22 01:25:11 turtle[4899] INFO:  building and signing IPA
  platform: "ios"
  buildPhase: "building and signing IPA"
Sep 22 01:25:11 turtle[4899] INFO:  saved provisioning profile to temporary path
  platform: "ios"
  buildPhase: "building and signing IPA"
Sep 22 01:25:11 turtle[4899] INFO:  provisioning profile copied to home directory
  platform: "ios"
  buildPhase: "building and signing IPA"
Sep 22 01:25:11 turtle[4899] INFO:  done retrieving provisioning profile data
  platform: "ios"
  buildPhase: "building and signing IPA"
Sep 22 01:25:11 turtle[4899] INFO:  checking if teamID is present in keychain and that certificate is valid...
  platform: "ios"
  buildPhase: "building and signing IPA"
Sep 22 01:25:11 turtle[4899] INFO:  removed provisioning profile from the home directory
  platform: "ios"
  buildPhase: "building and signing IPA"
Sep 22 01:25:11 turtle[4899] ERROR: Error: codesign ident not present in find-identity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Looking for identities matching "(XXXXXXXXXX)"
     0 valid identities found

    at Object.ensureCertificateValid (/@expo/xdl@59.1.0/src/detach/IosCodeSigning.js:18:11)
    at Object.build (/@expo/xdl@59.1.0/src/detach/IosIPABuilder.js:31:32)
    at buildAndSignIPA (/usr/local/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:58:3)
    at Object.buildArchive [as default] (/usr/local/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:20:5)
    at iosBuilder (/usr/local/lib/node_modules/turtle-cli/src/builders/ios/index.ts:33:7)
    at /usr/local/lib/node_modules/turtle-cli/src/bin/utils/builder.ts:87:7
    at Command.<anonymous> (/usr/local/lib/node_modules/turtle-cli/src/bin/index.ts:23:12)
  platform: "ios"
Sep 22 01:25:11 turtle[4899] INFO:  delete keychain...
  platform: "ios"
  buildPhase: "deleting keychain"
Sep 22 01:25:11 turtle[4899] INFO:  deleting keychain...
  platform: "ios"
  buildPhase: "deleting keychain"
Sep 22 01:25:14 turtle[4899] INFO:  done deleting keychain
  platform: "ios"
  buildPhase: "deleting keychain"
Sep 22 01:25:14 turtle[4899] ERROR: Failed to build standalone app
  err: Error: codesign ident not present in find-identity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Looking for identities matching "(XXXXXXXXXX)"
       0 valid identities found

      at Object.ensureCertificateValid (/@expo/xdl@59.1.0/src/detach/IosCodeSigning.js:18:11)
      at Object.build (/@expo/xdl@59.1.0/src/detach/IosIPABuilder.js:31:32)
      at buildAndSignIPA (/usr/local/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:58:3)
      at Object.buildArchive [as default] (/usr/local/lib/node_modules/turtle-cli/src/builders/ios/archive.ts:20:5)
      at iosBuilder (/usr/local/lib/node_modules/turtle-cli/src/builders/ios/index.ts:33:7)
      at /usr/local/lib/node_modules/turtle-cli/src/bin/utils/builder.ts:87:7
      at Command.<anonymous> (/usr/local/lib/node_modules/turtle-cli/src/bin/index.ts:23:12)
  platform: "ios"
brentvatne commented 2 years ago

https://forums.expo.dev/t/build-fails-on-ios-probably-due-to-newly-enabled-2fa/33306/2?u=notbrent

rcrvano commented 2 years ago

My certificates are valid and not expired! I can build my app using Expo Cloud

expo build:ios

but I want to build app locally I fetched active certificates from Expo Cloud using

expo fetch:ios:certs

and then I try to build ipa locally

EXPO_IOS_DIST_P12_PASSWORD=<PASS FOR p12> turtle build:ios --team-id <TEAM_ID_10_DIGIT> --dist-p12-path ./certs/ios/dist.p12  --provisioning-profile-path ./certs/ios/mobileprovision --type archive 
thonatos commented 2 years ago

it works with those steps .

  1. login xcode with my developer account.
  2. clear certs in keychain (dev & dist certs)
  3. run turtle build:ios again .
pnarielwala commented 2 years ago

UPDATE: My certs also were active and not expired and followed all the above solutions and still couldn't figure it out until I installed the certificate on this forum answer post https://developer.apple.com/forums/thread/662300 and it worked!

rcrvano commented 2 years ago

Thanks a lot, @pnarielwala !

Just need to update this certificate https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer