Подтвердить что ты не робот

IOS импортирует быстродействующий класс из быстрой с использованием фреймворка

Как импортировать класс Swift из рамки?

  • У меня Xcode Workspace
  • Я создаю структуру Cocoa touch с использованием Swift
  • Я создаю класс Swift с именем TestClass в рамках Cocoa touch framework
  • Я создаю приложение iOS с вкладкой Base
  • Я импортирую свою фреймворк в приложение с вкладками iOS с помощью import FrameWorkTest

Компилятор проекта приложения не может найти TestClass. Как импортировать TestClass для использования в основном приложении?

В нем говорится, что TestClass не определен. Я также хочу добавить расширение в FrameWork, а затем использовать его.

https://github.com/ArtemKyslicyn/-SwiftImportFrameworkTest

Я использую этот учебник http://www.swift-studies.com/blog/2014/6/30/creating-a-pure-swift-framework-for-both-ios-and-mac

Я нахожусь в Xcode версии 6.0

Спасибо

4b9b3361

Ответ 1

Здесь найдено одно решение:

  • Создайте новый проект iOS
  • Нажмите на проект
  • Нажмите +, чтобы добавить цель
  • В появившемся окне выберите cocoa touch framework
  • Нажмите project и нажмите add dependency и add framework
  • Успех!

screenshot illustrating the success

Я использовал здесь решение: https://github.com/ArtemKyslicyn/-SwiftImportFrameworkTest в проекте с именем AddingFrameWork

Ответ 2

Сделать класс в общедоступной структуре. Также любые переменные должны быть общедоступными, если вы хотите, чтобы они использовались вне рамки.

public class MyClass... {
 ...
}

Ответ 3

@Artem Kislitsvn: я видел ваш репозиторий github,

В котором у вас есть файл TestClass.Swift за пределами целевых тестов 'и' FrameWorkTest '. Это выходит за рамки пространств имен.

В Swift пространства имен указаны для каждой цели. В вашем случае "тест" и "FrameWorkTest" - две цели. Если вы держите свой файл вне цели, тогда ваш файл класса (.swift не будет отображаться в любое время).

Решение очень простое. Вы просто перемещаете свой файл TestClass.Swift внутри любой из целевых групп (перетаскивайте через Project explorer).

После этого ваш проект работает...!

Ответ 4

Чтобы импортировать класс Swift из рамки:

Перейдите в свой проект → Фазы сборки → Выберите целевую аудиторию → Link Binary With Libraries → + Button → Добавить другое (в диалоговом окне) → Выберите свою фреймворк и поздравления!

Я оставляю объяснение на изображениях ниже:

введите описание изображения здесь

введите описание изображения здесь