Section 13/171 menit
13. Troubleshooting & Kesalahan Umum
13. Troubleshooting & Kesalahan Umum
Error: ASAuthorizationError.Code.failed
swift
// Penyebab paling umum: Associated Domains tidak terkonfigurasi benar
// Cek:
// 1. apple-app-site-association bisa diakses via HTTPS
// 2. Team ID + Bundle ID benar di AASA file
// 3. Entitlement "webcredentials:yourdomain.com" sudah ditambah
// Cara verifikasi AASA:
// https://developer.apple.com/documentation/xcode/supporting-associated-domains
// Gunakan tool: https://branch.io/resources/aasa-validator/
Error saat Testing di Simulator
swift
// Passkeys tidak bekerja di iOS Simulator sebelum iOS 16.2
// Solusi: gunakan physical device, atau iOS 16.2+ simulator
// Untuk simulator iOS 16.2+:
// Settings → Developer → Enable Passkeys for Simulator
Challenge Expired
swift
// Challenge harus digunakan dalam 5-10 menit
// Jika user diam terlalu lama sebelum Face ID:
// → Server harus reject challenge yang expired
// → App harus request challenge baru
func loginWithPasskey() async {
// Selalu request challenge baru setiap kali user tap login
// Jangan cache challenge dari request sebelumnya
let freshChallenge = try await authAPI.beginPasskeyAuthentication()
// ...
}
Passkey Tidak Muncul di AutoFill
swift
// Penyebab: performAutoFillAssistedRequests dipanggil terlalu lambat
// Solusi: panggil di viewDidAppear, bukan viewDidLoad atau setelah user tap
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
beginConditionalPasskeyRequest() // lebih awal = lebih baik
}
// Juga: textContentType harus .username atau .emailAddress
// Tanpa ini, QuickType bar tidak menampilkan passkey