1

所以我正在使用 Xamarin 创建一个 Android 应用程序。所有的 android “东西”都将在 Android 项目中,我创建了一个共享项目来容纳业务逻辑,这样我就可以在必须创建一个 IOS 应用程序时使用它。

我已经成功地从 Android 项目中引用了共享项目——到目前为止一切都很好。因此,我的数据库代码位于共享项目中,可供任何平台使用。

我的应用程序需要连接到 Web 服务,所以我想将所有内容都包含在共享项目中,但似乎无法将引用(Web 或其他)添加到共享项目 - 这是正确的吗?当然不能,或者我不能在共享项目中使用 JSON.net 或其他任何需要引用外部 DLL 的东西......?这将导致我在每个平台上多次复制这样的任何代码。

当然我在这里遗漏了一些东西 - 任何谷歌搜索都会返回如何从另一个项目引用共享项目......不是我需要的。

所以问题是,我可以在共享项目中添加对 Web 服务/第 3 方 DLL 的引用吗?如果可以,我该怎么做?

谢谢你的帮助。

4

2 回答 2

0

在共享项目中不能使用引用指令。您必须实例化平台特定项目 (Project.iOS) 上的引用并将其传递给共享项目中的类。

使用 AppDelegate 定义 Web 服务引用。

于 2017-01-22T10:41:10.793 回答
-1

iOS 应用程序不能使用您自己创建的共享库。您可以使用的只有 Apple 在系统框架中提供的那些,您可以在 iOS SDK 中找到它们。

您可以使用静态库。这可能会也可能不会解决您的问题。

可能 Xcode 正在执行此规则。

对于一个简单的测试,您可以共享单个源文件而不是库吗?

此外,它们在 iOS 或 Mac OS X 上不被称为“DLL”,它们被称为“dylibs”。

于 2014-12-18T12:39:04.900 回答