Сегодня виджет на 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, и теперь он должен работать.