gpt4 book ai didi

objective-c - 库的所有代码都是用 Swift 编写的,但框架的 header 似乎是 Objective C?

转载 作者:行者123 更新时间:2023-11-30 13:09:00 39 4
gpt4 key购买 nike

我正在使用 Xamarin 制作应用程序。我必须将一些由 Swift 编写的 iOS 框架绑定(bind)到 CSharp。

不幸的是Xamarin目前不支持bind Swift框架,所以我几乎放弃了。

但是我有一个问题。

我为框架构建的库的头文件看起来是 Objective C。但所有源代码都是由 Swift 编写的。 (此框架:https://github.com/NordicSemiconductor/IOS-DFU-Library)

这是什么?这是自然的还是他们做了一些额外的工作来使其在框架中成为 Objective C?

这意味着我可以继续做装订工作?

如有必要,请纠正我。

最佳答案

就 xamarin 而言,Cocoa 库是否使用 Objective C 或 swift 或 C++ 编写并不重要。

您需要使用 xcode 将 lib 编译为 *.framework 编译库。所以 swift 还是 objc,好吧,并不重要。

只需在 Xcode 中打开项目并构建它即可。显然,不要构建并运行,因为您无法运行它(除非您有测试套件)。现在,查看 XCode 中的 Products 组,您应该会看到一个名为 DFULibrary.framework 的文件。

一旦你有了编译好的二进制文件,那么你必须将它封装在 C#(或 F#)iOS 绑定(bind)项目中(同样,他们说的是 ios 绑定(bind),而不是 objc 绑定(bind),也不是 swift 绑定(bind)......猜猜为什么:p)如下解释:https://developer.xamarin.com/guides/cross-platform/macios/binding/objective-c-libraries/现在,他们说的是真的:

To do a comprehensive binding, you will want to understand the Objective-C API definition and familiarize yourself with the .NET Framework Design guidelines.

但我将其归咎于缺乏文档更新。只需用快速理解代替 ObjC 理解即可:)

无论如何,您最终都会得到一个 C# api。

享受

关于objective-c - 库的所有代码都是用 Swift 编写的,但框架的 header 似乎是 Objective C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38958522/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com