2016-09-29 96 views
0

我是Xamarin表單的新手,我想用Facebook登錄按鈕和Xamarin.Auth構建應用程序。我在網上發現了很多東西,但是我找不到使其工作的方法。也許是因爲我發現了一些舊的實現或者因爲我的項目配置,我不確定它有什麼問題。Xamarin Forms facebook登錄Xamarin.Auth

我正在使用MacBookPro,因此我使用Xamarin Studio for Mac,並且我想先爲Android和iOS構建此應用程序,但它可能稍後會擴展到Windows手機。

下面是我用的版本:

  • Xamarin Studio的社區版本:6.1.1(建立15)
  • 的NuGet版本:3.4.3.0
  • Xamarin.Android版本:7.0。 1.2(Xamarin工作室社區)
  • 蘋果開發工具:Xcode的8.0(11246)建立8A218a
  • Xamarin.Mac版本:2.10.0.103(Xamarin工作室社區)
  • Xamarin.iOS版本:10.0.1.8(Xamarin工作室社區)
  • 操作系統:Mac OS X 10.11.6

我嘗試下面的例子,但我無法找到一個方法來使它工作:

https://components.xamarin.com/gettingstarted/xamarin.auth

,就像我跟Xamarin.Forms多的新手與全球移動應用開發我不知道在哪裏把他們提供的代碼。

於是,我把OAuth2Authenticator我LoginPage與auth.Completed事件,所以當用戶通過驗證我可以保存帳戶數據的顯示我的MainPage

我試圖運行這樣的應用程序一起,它不會觸發任何錯誤。 然後我試着用

auth.GetUI() 

顯示在頁面上的Facebook按鈕,但它給了我下面的錯誤信息:

「OAuth2Authenticator」不包含「的getUI」的定義,並沒有擴展名方法「的getUI」接受型「OAuth2Authenticator」的第一個參數找不到(是否缺少using指令或程序集引用?)

我覺得它幾乎工作,但我不能讓Facebook按鈕。我如何顯示它?

+0

'GetUI'是在特定於平臺的代碼,而不是在Xamarin.iOS。你可以通過一個依賴服務來做到這一點,或者查看Forms版本的開始:https://github.com/xamarin/Xamarin。Auth/tree/portable-bait-and-switch/source/XamarinForms – SushiHangover

+0

謝謝你的回答。 您是否知道創建依賴服務的教程?我有點迷失在這個移動應用程序體系結構中...... –

回答

1

看到此鏈接:

http://www.codeproject.com/Tips/852742/Simple-Twitter-client-using-Xamarin-Forms-Xamarin

只需更改下面的代碼:

   var auth = new OAuth2Authenticator(
           clientId: "your facebook clientId", 
           scope: "email", 
           authorizeUrl: new Uri("https://www.facebook.com/dialog/oauth/"), 
           redirectUrl: new Uri("https://www.google.com/") 
          ); 
+0

我的iOS項目文件夾中有一條錯誤消息LoginPageRenderer.cs: 類型或命名空間名稱'Auth'在namspace'Xamarin'中不存在。您是否缺少裝配參考? 我認爲它會引用我的共享項目Xamarin.Auth,但它並沒有,所以我試圖將Xamarin.Auth添加到我的Project.iOS包中: 無法安裝包「驗證2.0.4.14103」。您正在嘗試將此軟件包安裝到以'Xamarin.iOS,Version = v1.0'爲目標的項目中,但該軟件包不包含任何與該框架兼容的程序集引用或內容文件。 –

+0

你在IOS項目中添加Xamarin.Auth嗎? – Pratik

+1

其實我找到了一個解決方案。我無法將Xamarin.Auth作爲一個包添加,它引發了一些錯誤,所以我將它添加爲一個組件並且它可以工作。 謝謝所有:) –