Интеграция Unity в проект Swift - PullRequest
0 голосов
/ 21 декабря 2018

Ну, я видел и пробовал большинство учебных пособий, на которые ссылаются из похожих вопросов «Как интегрировать код Unity iOS в проект Swift».Но все мои попытки потерпели неудачу из-за ошибки компоновщика «Нет такого символа для архитектуры arm_64» или «Нет такого символа для архитектуры x86_64».Я пробовал разные варианты сборки в Unity, но безуспешно.Общий минус всех этих руководств / статей: все они устарели, последняя версия Unity, которую я нашел, - это 2018.2.2f1, моя версия Unity - 2018.2.20f1.Итак, у кого-нибудь есть идея, как интегрировать встроенный код Unity 2018.2.20+ для iOS в проект Swift 4.2 (XCode 10)?Любая помощь будет с благодарностью.

1 Ответ

0 голосов
/ 29 апреля 2019

Вот как я интегрировал единство в свой проект swift.

1) Создайте новый проект XCode (используя swift)

2) (создайте шаг заголовка моста) Создайте новый класс File -> Создать -> Класс Cocvatouch и выберите lang Objective C, он попросит создать заголовок моста, выберите create

3) Перейти к https://github.com/jiulongw/swift-unity и загрузите zip-файл

4) Откройте загруженный файли распакуйте его.Перейдите в папку Xcode -> DempApp-> Вы найдете Папка Unity Копировать вставить в свой проект (если вы перетаскиваете его, убедитесь, что вы отметили флажок для копирования в месте назначения)

5) Откройте новый проект XCode и автоматически сгенерированный проект Unity, чтобы вы могли легко скопировать и вставить его

6) Копировать Папка классов из Unity XCode проекта в ваш проект XCode в unity папка шага 4

7) копирование папка библиотеки из проекта Unity Xcode в проект Xcode в unity папка шага 4

8) copy Data Папка из проекта Unity Xcode в проект Xcode в Unity Папка шага 4

9) Важно Перейти к проекту Xcode Нажмите на название проекта слева, будет два варианта Проект и цель .Выберите проект в центре главного окна, которое вы можете увидеть Конфигурация Разверните его и в соответствии с названием вашего проекта выберите Unity из выпадающего списка

10)Перейти к Классы Папка, которую вы скопировали на шаге И либо удалите main.mm файл или все комментарии

11) Перейти к папке, которую вы скачали на шаге 3 Скопируйте весь кодAppDelegate.swift в ваш AppDelegate.swift файл

12) В вашем проекте Xcode найдите YourProjectFileName-Bridging-Header и скопируйте вставку

#ifndef BRIDGING_HEADER
#define BRIDGING_HEADER

#import <UIKit/UIKit.h>
#import "UnityUtils.h"
#import "UnityAppController.h"
#import "UnityInterface.h"

#endif /* BRIDGING_HEADER */

13) Скопируйте вставку LaunchScreen-iPad.xib и ЗапуститеScreen-iPhone.xib в свой проект и удалите LaunchScreen.storyboard

13) Скомпилируйте его :] он должен скомпилироваться успешно (не в моем случае я получил ошибку, что DeviceSettings.mm отсутствует оператор return, поэтому я просто добавил return deviceUnknown; перед})

14) Вы можете увидеть пошагово загруженный файл view controller.swift fили посмотрите, как отобразить представление Unity на экране

Примечания. После интеграции Unity вы не сможете работать в симуляторе, поэтому вам придется работать в реальном устройстве.Лучше иметь Unity и Xcode на одной машине.когда-нибудь все фреймворки получают только ref папки, поэтому в diff.машина, с которой вы можете столкнуться

наконец ваш проект должен выглядеть так: enter image description here

Надеюсь, что это полезно.

Не забылupvote, если вы считаете, что это полезно:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...