Как работать с C-Files в менеджере пакетов Xcode 11? - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть 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
}
}

Структура проекта следующая:

enter image description here

Это приложение работает правильно, как и ожидалось.

На следующем шаге я создал с помощью File-> New-> Swift Packe пакет с именем Math.Затем я переместил файл WrappedCFunctions.swift из папки AddDoubles в папку CMath / Source / CMath пакета.На следующем этапе я включил пакет в проект.Это приводит к следующей структуре:

enter image description here

И последнее, но не менее важное: я добавил оператор Import CMath в ViewController.swift и создал проект.

Однако пакет не распознан.

enter image description here

Как решить эту проблему?

...