エラー:Sign in with Appleで「登録が完了しませんでした」の解決方法!

この記事からわかること
- Sign in with Appleで発生したエラーの解決方法
- 「登録が完了しませんでした」の原因と対処方
- 実機でビルド時にログインできない
index
[open]
\ アプリをリリースしました /
自作したiOSアプリに「Sign in with Apple」を実装してみたのですが思わぬエラーが発生し、その原因と解決法をまとめていきます。
Sign in with Appleで発生したエラー:登録が完了しませんでした
エラーが発生したのは実装した「Sign in with Apple」のサインインボタンを押下後にサインインするタイミングです。本来ならサインインできるはずが以下も画像のように「登録が完了しませんでした」と表示され正常にサインインできませんでした。

これは自分のiPhoneへテスト段階でビルドした時とアプリを審査に出してレビュアー側で操作してもらっている時にも発生しました。エラーのせいでアプリ申請はリジェクトされてしまいました。
Hello,
The issues we previously identified still need your attention.
If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.
Guideline 2.1 - Performance - App Completeness
We discovered one or more bugs in your app. Specifically, we were still unable to Sign up with Apple and received a message stating ”登録を完了できませんでした”
Sign in with Appleを実装した手順や環境
環境
- Xcode ver 14.1
- MacBook 13.01
- iPhone iOS 16.1.1
実装手順
- Developer siteでSign in with Appleを有効にする
- Xcode側でSign in with Appleを追加
- AuthenticationServicesフレームワークを使って実装


解決のために試したこと
- インターフェースを変更する
- 各デバイスとXcodeのバージョンを更新する
- iPhoneを一度サインアウトしてみる
インターフェースを変更する
Storyboardを使った実装とSwift UIを使った実装の両方を試してみました。
Storyboard
import UIKit
import AuthenticationServices
final class AuthViewController: UIViewController {
@IBOutlet private weak var buttonView: UIView!
// SetUp
func setupProviderLoginView() {
let authorizationButton = ASAuthorizationAppleIDButton()
authorizationButton.addTarget(self, action: #selector(handleAuthorizationAppleIDButtonPress), for: .touchUpInside)
authorizationButton.bounds = CGRect(x: 100, y: 1000, width: 200, height: 40)
buttonView.addSubview(authorizationButton)
}
// Action
@objc func handleAuthorizationAppleIDButtonPress() {
let appleIDProvider = ASAuthorizationAppleIDProvider()
let request = appleIDProvider.createRequest()
request.requestedScopes = [.fullName, .email]
let authorizationController = ASAuthorizationController(authorizationRequests: [request])
authorizationController.delegate = self
authorizationController.presentationContextProvider = self
authorizationController.performRequests()
}
override func viewDidLoad() {
super.viewDidLoad()
setupProviderLoginView()
}
}
// MARK: - ASAuthorizationControllerDelegate
extension AuthViewController: ASAuthorizationControllerDelegate {
func authorizationController(controller: ASAuthorizationController,didCompleteWithAuthorization authorization: ASAuthorization ) {
// ログイン後に実行したい処理
}
func authorizationController(controller: ASAuthorizationController,didCompleteWithError error: Error) {
// エラー操作
}
}
// MARK: - ASAuthorizationControllerPresentationContextProviding
extension AuthViewController: ASAuthorizationControllerPresentationContextProviding {
func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {
return self.view.window!
}
}
Storyboard:【Swift】Sign in with Appleの実装方法!Apple IDを使ったログイン機能
SwiftUI
import SwiftUI
import CryptoKit
import FirebaseAuth
import AuthenticationServices
struct AppleAuthView: View {
@Environment(\.colorScheme) var colorScheme
var isDarkMode: Bool { colorScheme == .dark }
var body: some View {
VStack {
SignInWithAppleButton(.signIn) { request in
request.requestedScopes = [.fullName, .email]
} onCompletion: { authResults in
switch authResults {
case .success(let authResults):
print("完了")
break
case .failure(let error):
print(error.localizedDescription)
}
}
.signInWithAppleButtonStyle(isDarkMode ? .white : .black)
.frame(width: 224, height: 40)
}
}
}
Swift UI:【Swift UI】Sign in with Appleの実装方法!SignInWithAppleButton
Sign in with Appleの実装はUIKitベースでもSwift Uiベースでも両方作成しましたが同様のエラーが発生しました。
各デバイスとXcodeのバージョンを更新する
各デバイスのOSのバージョンとXcodeのバージョンを最新のものに更新してみました。
しかしこれもエラー解決には至りませんでした。
おすすめ記事:【Xcode】キャッシュやアーカイブの削除方法!ストレージ圧迫を解決しよう
iPhoneを一度サインアウトしてみる
一度使用しているiPhoneのAppleアカウントをサインアウトしてみました。「設定」>「自身のAppleアカウント」>「サインアウト」をクリックします。サインアウトしてもiPhone内に保存している写真やメモなどは再度サインインすれば戻ってきますので安心してください。
しかしこれもエラー解決には至りませんでした。他にも色々なネットの情報や解決策を模索しましたがピンとくる解決方法を発見することはできませんでした。
Sign in with Appleのエラーでリジェクトされている
Sign Up Not Complete : Apple Sign- In
解決に至った経緯
結果何気なくサインインを再度試してみたところ突然すんなりログインすることができました。なぜか時間が解決してくれたようです。
関係あるかはわかりませんがエラーが発生しなくなる前にDeveloper Forumsに登録し、ここで実際に「Sign in with Apple」を使用してサインインをしました。
Sign in with Appleを機能させるための何かしらの設定が反映されるのに少し時間がかかるのかもしれません。とりあえず解決できてよかったです。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。