2015-10-01 165 views
13

我正在嘗試將Google登錄集成到我的iOS應用程序中。我遵循Google提到的說明。

我也添加了SafariService.framework。

不過我收到此錯誤:

Undefined symbols for architecture arm64: 
    "_OBJC_CLASS_$_SFSafariViewController", referenced from: 
     objc-class-ref in GoogleSignIn(GIDSignIn.o) 

如何解決這個問題?

任何想法?

感謝

+0

你的部署目標是什麼? SFSafariViewController僅在iOS 9中可用。還要檢查鏈接器標誌-ObjC。 –

+0

您需要小心使用'-ObjC',因爲它可能會導致比解決問題更多的問題。 – Droppy

+0

這些是我的鏈接器標誌:'-Objc -fobjc-arc -all_load' – iBug

回答

17

我有同樣的問題。但我的問題是我沒有包含SafariServices框架。

我按需添加它,它工作正常。

請確保您有下面的配置:

  • 殘疾人BITE_CODE
  • 添加了所有需要的框架
  • 的鏈接器標誌-ObjC(不-ObjC)
  • 添加所需的URL類型
  • 導入GoogleSignIn.h
  • GoogleServices-Info.plist導入您的目標

在我的配置我使用7.0作爲部署目標

希望它能幫助。 Regards

+1

@esefire需要關於「導入目標中的GoogleServices-Info.plist」這一點的更多描述.. –

12

由於SafariServices框架僅適用於iOS9以上,是有可能,你想與iOS低於在設備上跑的?如果是這樣,是否有可能在添加框架時按需添加它(使應用程序無法在舊版iOS上運行)?嘗試將其設置爲可選(附加圖像以更好地解釋我的意思)。

enter image description here

+1

謝謝。我已經嘗試過你的解決方案,但我得到同樣的錯誤。我試圖運行該應用程序的設備具有iOS版本8.2。 – iBug

+0

它爲我工作! – davidrelgr

相關問題