Ошибка при импорте фреймворка в Playground
Я следую инструкциям по импорту пользовательских фреймворков на игровую площадку, но все равно получаю сообщение об ошибке "Нет такого модуля". Я попытался добавить все в рабочую область: проект только с целью Framework, проект приложения Cocoa с фреймворком и только платформа. Я также пытался создать игровую площадку в приложении, куда я импортировал фреймворк, я даже могу без проблем импортировать ее в другой файл swift, но я не могу импортировать ее на игровую площадку.
Может кто-нибудь сказать мне, что я могу делать неправильно?
3 ответа
Я решил свою проблему с помощью решения, отличного от решения Майкла Уэлча. У меня были мои данные, полученные из Xcode, отличные от оригинальных. Идти к Preferences > Locations > Derived Data > Advanced
и выберите Уникальный. Это решило проблему, которая не появилась на игровой площадке.
Попробуйте построить свою каркасную цель, используя симулятор! Я только построил мой, используя универсальное устройство, которое не работает для детских площадок!
Вы когда-нибудь заставляли его работать? Я понял мою проблему. Код, который я пытался импортировать, не был в Framework Target. Мне пришлось добавить новую цель в мой проект типа Cocoa Framework. Затем включите мои исходные файлы в эту среду и, наконец, создайте эту цель. Тогда это сработало.
Я потратил на это более 4 часов. Но я решил это для XCode 10.
Вы не можете добавить какой-либо фреймворк на игровую площадку, если для него нет цели рабочего пространства, где находится игровая площадка. Так как вы используете загруженный фреймворк (я тоже) - вы обречены на провал с ним.
Работоспособное руководство можно найти здесь (дай Бог этому парню): https://medium.com/@pardel/using-3rd-party-frameworks-in-xcode-10-playgrounds-97aa0c3f56e0
tldr: самый простой способ:
- Скачайте сторонние фреймворк-источники.
- Открыть *.xcodeproj
- Добавить игровую площадку в проект.
- Создайте проект для любого симулятора iOS с помощью cmd+b (пока не знаю, как использовать какие-либо фреймворки MacOS).
- И это должно работать (по крайней мере, для меня).
Я хотел бы повторить то, что сказал Рид:
Попробуйте создать целевую платформу с помощью симулятора! Я построил свою только на обычном устройстве, которое не работает на детских площадках!
Если вы обновились до Xcode 12, вам также необходимо установить флажок "Создать активную схему". Выберите свою детскую площадку и идите к инспектору. Флажок будет в разделе "Настройки игровой площадки".