質問するログイン新規登録

Q&A

解決済

1回答

95閲覧

iOS(SwiftUI) の Google Sign-In で「Your app is missing support for the following URL schemes」エラーが解決しない

niwachipi

総合スコア1

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

OAuth

OAuth(Open Authorization)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2025/12/13 12:56

0

0

実現したいこと

SwiftUI アプリに Google アカウントのサインイン(Google Sign-In)を実装したいです。
Google カレンダー連携の前段階として、まずは Google Sign-In が正常動作するか確認したいのですが、
Info.plist に正しい URL scheme を登録しているのに、毎回「URL scheme が不足している」というエラーが発生し、サインイン処理が開始できません。

発生している問題・分からないこと

GoogleSignIn の signIn(withPresenting:) を実行した瞬間に、次のエラーが必ず発生します。

Your app is missing support for the following URL schemes:
com.googleusercontent.apps.156378956114-avc4msahm1pok3q98b4koasq5foi7g43

ただし、この URL scheme は Info.plist に確実に登録済みです。
アプリ起動時ログでも URL scheme が正しく読み込まれていることを確認しています。

それでも GoogleSignIn ライブラリ内部の URL scheme 判定で “存在しない” 扱いになります。

「本来は別の本番アプリ(MVP開発中)で発生した問題ですが、原因切り分けのために TokikaneSignInTest という最小構成プロジェクトを新規作成し、同じ手順で再現させています。」

エラーメッセージ

error

1Your app is missing support for the following URL schemes: 2com.googleusercontent.apps.156378956114-avc4msahm1pok3q98b4koasq5foi7g43

該当のソースコード

【TokikaneSignInTestApp.swift の処理概要】 ・GoogleSignIn の初期設定として、アプリ起動時 (init) に  GIDSignIn.sharedInstance.configuration = GIDConfiguration(clientID:  "156378956114-avc4msahm1pok3q98b4koasq5foi7g43.apps.googleusercontent.com")  を実行している。 ・Info.plist 内の CFBundleURLTypes を print して内容が正しいことを確認済み。 【ContentView.swift の処理概要】 ・画面に GoogleSignInButton を1つ置き、タップで signIn() を呼び出す構造。 ・signIn() の内容:  1)UIApplication.shared から keyWindow の rootViewController を取得  2)GIDSignIn.sharedInstance.signIn(withPresenting: rootVC) を呼ぶ  3)成功時は result、失敗時は error を print → 最小構成でも毎回 URL scheme 不足エラーが発生する。 【Info.plist の実際の登録内容】 ・GIDClientID:  156378956114-avc4msahm1pok3q98b4koasq5foi7g43.apps.googleusercontent.com ・CFBundleURLTypes:  CFBundleURLSchemes に  com.googleusercontent.apps.156378956114-avc4msahm1pok3q98b4koasq5foi7g43  を登録済み。

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

以下のことをすべて試したが改善しませんでした。

・Info.plist の URL scheme を何度も再入力
・Bundle Identifier の一致確認(Google Cloud 側と Xcode 側で一致)
・GIDClientID の再設定
・Xcode の Clean Build Folder
・DerivedData 削除
・シミュレータの完全削除 → 再作成
・Google Cloud 側で新規プロジェクトを作成し、OAuth クライアントも作り直した
・ゼロから別の Xcode プロジェクトを作成して再テスト

→ それでも「URL scheme 不足エラー」が100%再現する。
・GoogleSignIn が expected として出す URL scheme と、
Info.plist に登録した URL scheme は文字レベルで完全一致している。

・それでも GoogleSignIn ライブラリ内部の
unsupportedSchemes 判定で毎回落ちる。

・別プロジェクトでもまったく同じエラーが出るため、
設定ミスではなく GoogleSignIn ライブラリの挙動側の問題か、
または環境依存の問題が疑われる。

補足

使用環境は次の通りです。

macOS:Sonoma 14.1
Xcode:16.1
iOS シミュレータ:iOS 18.1
Swift:5.10
GoogleSignIn(SPM):7.1.0
プロジェクト構成:SwiftUI

Google Cloud Console の設定:

・iOS 用 OAuth クライアントID
156378956114-avc4msahm1pok3q98b4koasq5foi7g43.apps.googleusercontent.com

・URL scheme
com.googleusercontent.apps.156378956114-avc4msahm1pok3q98b4koasq5foi7g43

・Bundle ID
com.matsumoto.TokikaneSigninTest

すべて Xcode 側と一致している。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答1

0

自己解決

進捗報告:最小再現プロジェクトでは認証画面まで到達できました。
その過程で、実行時に参照される設定(clientID・URL scheme・Bundle ID)の一致を再確認し、現在は次段階(ログイン後の状態更新)の調整中です。
いったん本件はクローズします。ありがとうございました。

投稿2025/12/13 14:34

niwachipi

総合スコア1

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問