2016-03-21 6 views
0

Я пытаюсь создать фреймворк для экспорта нескольких классов в качестве импортируемого «пакета сортировки».Неразрешенные общедоступные классы в Cocoa Touch Framework

Мой проект Framework называется «MyFramework» ... был создан как проект Cocoa Touch Framework в Swift.

Я добавил один быстрый файл с именем ImplementationTest.swift

Он содержит следующее:

public class ImplementationTest { 

    public init(){ 
     print("Init called"); 

    } 

    public func echo(request: String){ 
     print ("Echo called with "+request); 
    } 


} 

Рамки строит отлично и я получаю папку MyFramework.framework. Я добавляю эту структуру к новому быстрому проекту приложения и добавляю его как Linked Framework и Library, а также Embedded Binaries.

Я могу «импортировать MyFramework» просто отлично. Но если я пытаюсь «тест вара = ImplementationTest()», я получаю следующее сообщение об ошибке: использования неразрешенного идентификатора «ImplementationTest»

Если я пытаюсь «тест вара = MyFramework.ImplementationTest()» я получаю: модуля «MyFramework» не имеет имени участника «ImplementationTest»

Я делаю это неправильно? Может ли моя инфраструктура иметь только один экспортированный класс? и следует ли ему называть то же имя, что и сама структура?

ответ

0

Проверьте после того, как вы построите фреймворк, если вы можете получить к нему доступ через приложение show find. Если нет, попробуйте создать его с помощью универсального устройства ios.

+0

I сделал. Структура построена, и она построена как «универсальное устройство iOS». Я могу успешно импортировать его в свое приложение. Я просто не могу получить доступ к классу внутри. –

+0

Попробуйте очистить папку ~/Library/Developer/Xcode/DerivedData, чтобы исправить любые незначительные сложности. Удалите фреймворк из приложения (embed, link). Снова создайте фреймворк и попробуйте добавить его снова. Также проверьте, соответствует ли целевая версия iOS для приложения и для платформы – user6083088

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