Skip to content

[bug] tauri-macos-sign: imported signing identity not resolved by xcodebuild on clean CI runners (Xcode 26) #15740

Description

@johncarmack1984

Describe the bug

On a clean macOS CI runner, tauri ios build --export-method app-store-connect with IOS_CERTIFICATE, IOS_CERTIFICATE_PASSWORD and IOS_MOBILE_PROVISION fails at signing: xcodebuild cannot resolve the imported identity. It works on dev machines whenever the same certificate also sits in the login keychain, which hides the bug.

Correction (2026-07-28): this report originally claimed Keychain::with_certificate never runs security list-keychains -s. That's wrong. with_certificate_file captures the user search list before creating the keychain (keychain.rs L73–L79) and re-sets it with the new keychain appended after import (L160–L181), and the call is status-checked, so a failure would abort the build before xcodebuild runs. Same code at the 2.11.4 tag. The symptom stands; the root cause is open.

Note for anyone investigating: Keychain's Drop deletes the ephemeral keychain when the CLI exits, so post-mortem diagnostics in a later workflow step show a clean search list. You have to inspect while the build is alive.

Reproduction

On a clean macOS runner (no cert in the login keychain), set IOS_CERTIFICATE, IOS_CERTIFICATE_PASSWORD and IOS_MOBILE_PROVISION and run tauri ios build --export-method app-store-connect.

Expected behavior

The imported identity is visible to xcodebuild and manual signing succeeds.

Platform and versions

tauri-cli 2.11.4 (same code on dev at time of filing), macos-latest runners, Xcode 26.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    platform: iOSscope: cliThe tauri-cli rust crate and @tauri-apps/cli npm packagestatus: needs triageThis issue needs to triage, applied to new issuestype: bug

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions