這個問題可能非常微不足道,但這讓我頭疼,因爲過去6個小時。我已經在我的項目中集成了谷歌登錄SDK for iOS,除了取消按鈕,一切看起來都很好。 。取消按鈕在iOS的谷歌登錄框架中不可見
當我點擊我的登錄屏幕中的谷歌按鈕時,出現此屏幕。但如果用戶決定取消Google登錄,則無法解除此限制。通常情況下,取消按鈕應該在左欄按鈕項目的位置,但在這種情況下,它不見了。
我在這裏做錯了什麼?
這個問題可能非常微不足道,但這讓我頭疼,因爲過去6個小時。我已經在我的項目中集成了谷歌登錄SDK for iOS,除了取消按鈕,一切看起來都很好。 。取消按鈕在iOS的谷歌登錄框架中不可見
當我點擊我的登錄屏幕中的谷歌按鈕時,出現此屏幕。但如果用戶決定取消Google登錄,則無法解除此限制。通常情況下,取消按鈕應該在左欄按鈕項目的位置,但在這種情況下,它不見了。
我在這裏做錯了什麼?
你的AppDelegate中是否有UIAppearance配置?也許條形顏色與按鈕文字顏色相同。我解決了這個問題,通過建立對大多數在我AppDelegate.swift
文件由UINavigationbar.appearance()
代理暴露出的相關屬性的全局默認值(應爲ObjC類似)
UINavigationBar.appearance().barTintColor = UIColor(red:0.00, green:0.42, blue:0.90, alpha:1.0)
你會得到只有在兩種情況下取消按鈕:
1 - 如果您已經在此屏幕中輸入了谷歌用戶名和密碼並移至下一個。
2 - 如果你已經安裝了谷歌加應用程序,並已登錄
在目前的情況下,你不會得到取消按鈕爲網頁視圖。 所以解決方案是你需要創建你自己的後退按鈕。
創建一個欄按鈕項並將其分配給navigationItem的leftBarButtonItem。 將這個代碼viewDidLoad
UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
[myButton setImage:[UIImage imageNamed:@"CancelImage" forState:UIControlStateNormal];
[myButton setContentEdgeInsets:UIEdgeInsetsMake(0, -15, 0, 0)];
[myButton addTarget:self action:@selector(backToHOmePage) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customBackBtn = [[UIBarButtonItem alloc] initWithCustomView:myButton];
self.navigationItem.leftBarButtonItem = customBackBtn;
然後創建backToHomePageMethod -
-(void)backToHOmePage
{
[self.navigationController popToRootViewControllerAnimated:YES];
}
嘗試刪除GoogleSignIn.framework
和 GoogleSignIn.bundle
文件和添加他們回來。
此外,請確保您已將GoogleSignIn.bundle
添加到您的Xcode項目的複製包資源構建階段(轉到目標>您的項目>構建階段>複製包資源並添加GoogleSignIn.bundle
)。
檢查它是否重定向到Safari,然後你必須執行很多代碼。此外,如果Apple重定向到Safari瀏覽器,蘋果會拒絕Google Sign In精選應用。 –
這是最新的google登錄SDK,它不會重定向到safari。相反,它在應用程序本身打開一個這樣的屏幕... –
有用的知識..谷歌提供所有的頭文件作爲開源,以及你可以隨時編輯任何你想要的。 –