我是iOS编程的新手。我有一个使用c库的Android应用。我想创建相同的iOS应用并使用相同的库。我进行了搜索,但是大多数结果都是针对Objective-C编程的,我无法选择多种方法。我相信有了新功能,我可以迅速轻松地做到这一点。 所以我的问题是我应该如何创建C库并在iOS项目中使用它?我可以使用cmake吗?我应该像下面第一个链接中所述使用Swift软件包管理器吗?
在互联网上找到的最佳结果:
答案 0 :(得分:3)
Xcode无需其他设置即可编译C代码。只需将C文件添加到项目中,然后选择适当的目标即可。
要在Swift上使用C代码,您应该创建桥接标头。
这里是一个示例,说明如何从头开始在同一项目中使用C和Swift。您可以使用现有的C代码执行相同的操作。
在C文件中添加一些功能。例如:
// example.h
#include <stdio.h>
int exampleMax(int num1, int num2);
// example.c
#include "example.h"
int exampleMax(int num1, int num2)
{
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
将C标头添加到桥接文件中
// ModuleName-Bridging-Header.h
#import "example.h"
现在您可以在Swift文件中使用C代码了:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let number1 = Int32(1)
let number2 = Int32(5)
let result = exampleMax(number1, number2)
print("min = \(result)")
}
}
自动完成应该看到您的C标头:
您可以使用modulemap文件代替桥接头。它更加灵活方便,但设置起来有些困难。