我在不同平台上有两个不同的应用程序:Windows (.Net) 和 iPad(使用 Xcode 制作)。通过在这两个应用程序上引入相似的功能,我正在考虑一些在这些应用程序上共享逻辑/代码的方法。想到 Xamarin 作为可能的选择。
但是我对将整个 iPad 应用程序 (objective-c) 迁移/重写到 Xamarin (c#) 不感兴趣,我正在寻找一些方法将 Xamarin 的构建输出(dll?)链接到 iPad Xcode 项目。
是这样的: .Net Portable Library 项目 -> 使用 Xamarin 打开 -> 构建到“某些包” -> 在 Xcode 项目中链接“某些包”。
Xamarin 能否编译成一些可在 Xcode 中链接的库?
最佳答案
不,您不能从 Xamarin.iOS 项目创建静态库(或 Xcode 可以理解的任何其他内容)。
但是还有另一种解决方案:您可以为您的 Xcode 项目创建一个静态库,并在您的 Xamarin.iOS 项目中使用它。 Xamarin.iOS 提出的唯一要求是入口点必须是您的托管 Main 方法。
在极端情况下,这意味着您可以将 native main 方法重命名为其他名称(例如 native_main),并且只需从托管 Main 方法中 P/Invoke native_main。然后,您可以按照自己的节奏开始将代码移植到 C#。
关于ios - 您可以在 Xcode 中引用 Xamarin 的输出 (lib) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23634474/