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

Виджет расширения iOS 8 Beta Today, который не отображается в приложении Swift?

Сегодня расширение не отображается в приложении Swift, но оно работает в приложении Objective C.

Я сделал, чтобы добавить UILabel с некоторым контентом в раскадровку для быстрых и объективных приложений c.

Он появился, когда я запустил приложение Objective C, но не тогда, когда я выполнил приложение Swift.

Я что-то пропустил?

4b9b3361

Ответ 1

Вы можете прокомментировать предоставленный метод init.

//    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
//        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
//        // Custom initialization
//    }

Это позволит вашему расширению работать правильно. Проблема, похоже, вызвана различием поведения инициализатора между Swift и Objective-C. Удаление вышеуказанного инициализатора наследует все необходимые инициализаторы из суперкласса.

Найденное решение на форумах разработчиков Apple для вашей справки.

Примечание. Возможно, вам придется выполнить Clean and Build ваш проект после этого, прежде чем изменения будут иметь эффект

Расширение фактически сбой, с ошибкой, например:

fatal error: use of unimplemented initializer 'init(coder:)' for class 'com_blabla_blabla_MyTodayExtension.TodayViewController'

Это означает, что другой вариант будет реализован:

init(coder aDecoder: NSCoder!) {
    super.init(coder: aDecoder)
    // Custom initialization here
}

если вы хотите сохранить возможность выполнять пользовательскую инициализацию.

Ответ 2

Цель расширения приложения должна включать в себя arm64 (iOS) или x86_64 архитектуры (OS X) в настройках сборки архитектуры.

См. Документация Apple

Ответ 3

Xcode6 является бета-версией, и это ошибка с ним, вам придется ждать новой версии.

Ответ 4

Проблема для меня заключалась в том, что цель развертывания расширения была установлена ​​в другую версию, чем моя целевая программа. Вы должны подтвердить, что цель расширения установлена ​​соответствующим образом, поскольку она может быть нацелена на другую версию.

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