Сегодня виджет на OS X не работает

Кажется, я не могу запустить мой виджет Today (или любое другое расширение) в Widget Simulator. Симулятор запускается и говорит "Не удалось открыть виджет" вместе с

Failed to find Widget /Users/SomeUser/Library/Developer/Xcode/DerivedData/Build/Products/Debug/MyApp.app/Contents/PlugIns/MyApp.appex

Я посмотрел в консольном приложении, и я вижу это также:

pkd [299]: игнорирование неправильно настроенного подключаемого модуля в /Users/SomeUser/Library/Developer/Xcode/DerivedData/Build/Products/Debug/MyApp.app/Contents/PlugIns/MyApp.appex: подключаемые модули должны быть помещены в "песочницу"

Но это в песочнице в xcode! Это кодовое обозначение, песочница и многое другое. Даже если я попытаюсь развернуть его на новом компьютере (зарегистрированном как компьютер разработчика с моим профилем обеспечения разработчика), виджеты даже не отображаются в Системных настройках.

Есть идеи, что мне нужно сделать?

2 ответа

Решение

Хорошо, наконец-то нашел проблему. Я кодировал свое приложение вручную (что раньше никогда не было проблемой), поскольку у меня был сложный набор фреймворков, на которые опиралось приложение, и мне нужно было вручную копировать их, используя скрипт пост-сборки Copy / Runscript. В любом случае, кажется, начиная Xcode 7, по крайней мере, это больше не работает, как ожидалось. Приложение работает, и кодовая подпись говорит, что приложение было подписано правильно, но явно что-то происходит за кулисами, что нарушает кодовую подпись. Я закончил тем, что удалил все свои ручные средства кодирования и просто использовал шаг посткомпиляции Xcode 'Copy Framework' и проверил 'Sign on Copy'. Теперь он наконец работает, как и ожидалось.

Я не мог остановить сборку и подписание кода вручную, поэтому я посмотрел журналы сборки Xcode и обнаружил разницу:) в моем случае я просто добавил -fapplication-extension на флаги компилятора и компоновщика, теперь это работает!

Исходя из странного ответа здесь чуть более подробный ответ:

Сначала выберите ваш проект, а затем цель вашегоприложения(не расширение)

Затем нажмите "Фазы сборки", затем в верхней части окна "Редактор" выберите сначала "Добавить фазу сборки" и, наконец, нажмите "Добавить копии".

Вот и все. Создайте заново, используя Widget Simulator, и теперь он должен работать.

Другие вопросы по тегам