Xcode может скомпилировать код C без дополнительных настроек. Просто добавьте ваши C файлы в проект и выберите правильную цель.
Чтобы использовать C-код в Swift, вы должны создать соединительный заголовок.
Вот пример того, как использовать C и Swift в одном проекте с нуля. Вы можете сделать то же самое с вашим существующим кодом C.
- Создать новый проект iOS.
- Добавьте файл C, нажав команду + N. Выберите файл C с заголовком.
- Xcode должен предложить добавить заголовок моста и создать его автоматически. Если этого не происходит, вы можете сделать это вручную, создав заголовочный файл и добавив его имя для создания настроек проекта.
Добавить некоторую функцию в файл 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"
Теперь вы можете использовать код C в файлах Swift:
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. Он более гибкий и удобный, но немного сложнее в настройке.