У меня есть C-функция, которую я вызываю в функции-обертке Swift.Теперь я хочу создать Swift-пакет с этой функцией-оберткой Swift.Однако я делаю что-то не так.
Вот функция C, которая добавляет 2 двойных значения.
// addDoubles.c
#include <math.h>
#include "addDoubles.h"
double addDoubleWithC(double val1, double val2) {
return val1 + val2;
}
Вот файл Swift с функцией переноса:
// WrappedCFunctions.swift
import Foundation
public struct WrappedCFunctions {
public static func addDoubles(val1:Double, val2:Double) -> Double{
let resulFromCFunction = addDoubleWithC(val1, val2)
return resulFromCFunction
}
}
В viewController я использую эту функцию:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let val1 = 1.11
let val2 = 2.22
let result = WrappedCFunctions.addDoubles(val1: val1, val2: val2)
let txt = String(val1) + " + " + String(val2) + " = " + String(result)
textLabel.text = txt
}
}
Структура проекта следующая:
Это приложение работает правильно, как и ожидалось.
На следующем шаге я создал с помощью File-> New-> Swift Packe пакет с именем Math.Затем я переместил файл WrappedCFunctions.swift из папки AddDoubles в папку CMath / Source / CMath пакета.На следующем этапе я включил пакет в проект.Это приводит к следующей структуре:
И последнее, но не менее важное: я добавил оператор Import CMath в ViewController.swift и создал проект.
Однако пакет не распознан.
Как решить эту проблему?