2017-01-16 73 views
3

最近在我的iOS應用程序中出現了一個問題。我使用的是共享Web憑據來獲得相關的用戶憑據:共享Web憑據未通過iOS 10真實設備批准

SecRequestSharedWebCredential(0, 0, ^(CFArrayRef lpCredential, CFErrorRef lpError) { 
    // stuff 
}); 

這是工作正常,直到最近,當我發現它停止在iOS設備10(可能只有10.2的設備工作,但我沒有舊版本去檢查)。一切都應該按順序進行(權利,在服務器上籤署蘋果應用程序站點關聯文件),因爲它可以在iOS 9和8上運行。它也適用於模擬器(甚至10.2)中的每個版本。

但在真實設備上的iOS 10不起作用。完成塊被稱爲錯誤代碼

-25293 (Authorization/Authentication failed.)

"www.webcredentialsurl.com" failed to approve "AppPrefix.AppID"

是否有人有任何想法可能是造成這個?蘋果是否最近改變了一些東西我使用Xcode 8.2。

+0

你的工作如何解決這個問題?我們有類似的問題。 – Brett

+0

@Brett是的,看我的答案。 – Kegluneq

回答

1

好的,所以我終於發現了什麼是錯的。從iOS 9.3開始,Safari會在/.well-known目錄中搜索apple-app-site-association文件。如果沒有這樣的頁面或者它沒有找到這個文件,它會進入根目錄。但是,從iOS 10開始,只有在沒有找到頁面的情況下才會進入根目錄!如果您在那裏重定向,則將其視爲apple-app-site-association不存在。因此,您需要移除/.well-known的重定向或將您的apple-app-site-association文件放在那裏。

蘋果官方文檔(他們更新它最近告知/.well-known更加突出。當我在尋找它只是部分在括號中提到的解決方案...)

https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html

+1

嘿@ user1963877,你解決了這個問題嗎?雖然在https:// //知名/ apple-app-site-association中添加'apple-app-site-association'並沒有幫助,但我仍然面對同一個問題。我想知道你是否可以對這個主題有更多的見解。 – Solomiya

+0

@Solomiya在我的情況下,只需在'/ .well-known'中放入'apple-app-site-association'即可解決問題。 – Kegluneq