3

有没有人成功地将 Janrain Jump.IOS 库与 Xamarin 集成?

到目前为止,我尝试从 GitHub 下载 Jump.IOS,创建了一个 XCode 静态库并添加了JREngage文件夹中的所有内容(现在,如果我可以登录工作,我会很高兴 - 注册可以工作暂时通过网站)。经过一些摆弄并在 Jump.IOS 项目(JRConnectionManager、SFHFKeychainUtils 和 JSONKit)的其他地方添加了一些位并包括一些必需的框架后,我能够让 XCode 将其编译成一个.a文件。

从那里,我能够通过Objective Sharpie运行它并生成一个.cs文件。然后,我在 Xamarin Studio 中创建了一个绑定库项目,包含了我的.a文件和我的文件中的代码.cs,并且稍微麻烦一点,就可以编译它了。

然后我创建了一个简单的单视图应用程序并尝试在ViewDidLoad我的主视图的方法中使用该库。这编译和执行没有任何错误,但实际上似乎没有做任何事情!我不认为它实际上是在调用 Janrain 代码并联系他们的服务器。

没有任何错误可以处理,我现在很难过。

一些更新:

我将 Janrain 的 github 存储库中的所有代码转储到一个新的 XCode 项目中,删除了 JRCapture(尽管事实证明,我认为我现在需要它)并重新编译。经过一番摆弄,它编译了。我最初的问题的很大一部分是它不会构建一个通用的二进制文件。我在这里找到了一个脚本并将其添加到我的 xcode 项目的构建阶段,这似乎解决了问题。我之前正在构建 ARM 二进制文件,它们(显然)不在模拟器上运行。我不知道为什么 Apple 让制作通用二进制文件变得如此困难!

我运行JRConnectionManager.hJREngage.h抛出 Objective Sharpie 以创建一个.cs文件,然后将其添加到绑定项目中。稍加调整即可编译。然后我创建了一个简单的 iPhone 项目进行测试。iPhone项目的几个关键点:

  1. 即使您.xib在 xcode 项目中包含这些文件,它们在 xamarin 项目中也无法使用。您必须再次将它们全部添加到您的 iphone 项目本身(在 JREngage/Resources/xibs 中找到它们)
  2. 要触发的代码ShowAuthenticationDialog需要在ViewDidAppear而不是ViewDidLoad. 显然视图已加载,但由于尚未实际显示,Janrain 代码无法将其对话框添加到视图中。
  3. 尽管 github 存储库将所有图像都嵌套在Resources\ImagesandResources\Images-2x中,但代码实际上希望所有图像都位于应用程序的根目录中。您可以使用分号分隔的路径列表编辑您的IPhoneResourcePrefix标签,.csproj以使其自动剥离所有路径。见这里

一旦我摆弄了一些,我实际上得到了工作。身份验证对话框出现,它与适当的提供者连接并返回数据。现在我只需要弄清楚如何处理响应!

4

0 回答 0