😸

[Xcode] Authentication failed because no credentials were provided

2023/08/25に公開

Swift Package が取得できない場合、タイトルや以下のログがでることがあります。
git レポジトリにアクセスできない場合におきるエラーです。

発生エラー

Authentication failed because no credentials were provided.
Authentication failed because the credentials were missing.

対策 1: SSH キーのアルゴリズムがあたらしすぎないようにする

Xcode 14.3 / Ventura 環境だと Ed25519 アルゴリズムに対応していなかったっぽいので legacy なバージョンで SSH キーを作り直して github に登録します。
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

対策 2: プロトコルを揃えておく

~/.gitconfig で https ではなく ssh で読むように揃えておく

[user]
	email = *******@email.com
	name = *******
[github]
	user = *******
	token = ghp_*********************
[hub]
	host = github.com
[url "git@github.com:"]
    insteadOf = https://github.com/

ssh つかえない場合は https ですね

[url "https://github.com/"]
    insteadOf = git@github.com:

対策 3: Xcode を再起動して Reset Package Caches する

何回もやってみると少しづつ解決されていくのでビルドログを見ながら解決されているかを観察しよう

その他

  • ssh 認証キーが github に登録されているか
  • プライベートレポジトリの場合アクセス権があるか
  • パスはあってるかなどなど・・・

Discussion