2016-09-29 61 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作为一个包添加,它引发了一些错误,所以我将它添加为一个组件并且它可以工作。 谢谢所有:) –