2014-12-09 3 views
2

Я ищу простую процедуру объединения кода Objective-C из проекта с общей библиотекой с кодом Swift из прикладного проекта, но нет успеха до сих пор с этой последовательностью:Использование Objective-C-кода в проекте IOS Cocoa Static Library с быстрым кодом в приложении для приложений iOS

  1. начало Xcode 6.1.1
  2. создать рабочее пространство Тест
  3. создать IOS Cocoa Touch Static Library проекта TestLibrary и добавить его в рабочее пространство
  4. создать проект IOS Single View Application Тест (язык: Swif т) и добавить его в рабочее пространство
  5. добавить import TestLibrary к ViewController.swift

Если я теперь построить тест, я получаю эту ошибку в ViewController.swift: No such module: ‘TestLibrary’.

Предположительно два препятствия должны быть преодолены:

  1. Скажите TestLibrary что должен "экспорт" TestLibrary.h. Каков правильный синтаксис и процедура добавления (предположительно) нужного файла bridging header?
  2. Сообщите, где находится TestLibrary. Поскольку проекты приложения и статической библиотеки принадлежат к одному и тому же рабочему пространству (и сидят в файловой системе рядом друг с другом), я предполагаю, что никаких явных шагов не требуется или нет?

Таким образом, в общем, мой вопрос заключается в следующем: как я могу преодолеть ошибки сборки, даже если я впоследствии добавить let test = TestLibrary() к ViewController.swift, то есть как можно Test (Swift код базы) использовать TestLibrary (Objective-C база кода)?

ответ

4

Эта процедура, кажется, работает (для одной цели приложения):

  1. Не добавляйте import TestLibrary, так как Swift и код Objective-C будет находиться в одной и той же цели приложения
  2. Создание тест-Bridging -Header.h для тестирования и добавить #import "TestLibrary/TestLibrary.h"
  3. Комплект установки Objective-C Bridging Header: Test/Test-Bridging-Header.h для испытания сборки
  4. Drag libTestLibrary.a из TestLibrary (по продукции) в библиотеке Link Test с Binaries (под Строительства фаз)
  5. Добавить let test = TestLibrary(), например. внутри viewDidLoad в ViewController.swift

Вуаля ...

+1

Работает как очарование ... –

0

В моем случае, я должен добавить все .h файл Рамок в файле Bridging, что зафиксировало проблему. Также удалите импорт TestLibrary из быстрых файлов

 Смежные вопросы

  • Нет связанных вопросов^_^