Файл UnityFramework-Swift.h не найден - PullRequest
0 голосов
/ 01 августа 2020

У меня ошибка «Lexical or Preprocessor Issue Group» при построении проекта xcode после сборки из Unity. 'Файл UnityFramework / UnityFramework-Swift.h не найден'

enter image description here

I have Nice Vibration asset and FB SDK in my project. So I tried to follow this instructions in 'Building for iOS' section, but have no result https://nice-vibrations-docs.moremountains.com/platform-specifics.html#building -for- ios

Я делаю это с помощью .xcworkspace, а не .xcodeproj файл. Я прочитал это правильно, потому что FB SDK нуждается в конвейере сборки CocoaPods, и я должен использовать .xcworkspace. И это происходит в XCode 12, если это имеет значение.

Что может быть не так? Я провел несколько часов и все еще там, где был: (

1 Ответ

0 голосов
/ 04 августа 2020

Я также столкнулся с этой проблемой сегодня (хотя из-за Firebase SDK, а не FB).

Проблемы, похоже, связаны с процессором пост-сборки, который изменяет выходной проект XCode. Реализация NiceVibrations в настоящее время копирует только один файл (module.modulemap) в каталог сборки. Вместо этого нам нужно скопировать весь каталог NiceVibrations/Common/Plugins/iOS/Swift.

Хотя я не могу опубликовать sh весь файл, я поделюсь с вами своими изменениями для автоматизации этого процесса.

Откройте следующий файл: NiceVibrations/Common/Scripts/Editor/MMNVBuildPostProcessor.cs

Найдите функцию WritePropertiesToFramework и замените:

System.IO.File.Copy(privateModuleFilepath, destination);

На это:

DirectoryCopy(Path.GetDirectoryName(privateModuleFilepath), Path.GetDirectoryName(destination), true);

Вы можете найти исходный код функции DirectoryCopy в Microsoft do tnet docs здесь Edit: Вам нужно будет изменить второй аргумент от file.CopyTo до true, чтобы разрешить последующую перестройку в том же каталоге, чтобы избежать ошибок времени выполнения.

Кроме того, я увеличил callbackOrder до 60, чтобы гарантировать, что этот хук выполняется в последний раз.

Я лично использую .xcodeproj вместо рабочих пространств, но он также должен нормально работать с рабочими пространствами. (Firebase использует что-то под названием External dependency manager, что позволяет вам настроить предпочтения генерации вашего проекта)

После внесения этих изменений запустите сборку из единства и «замените» целевую папку, чтобы обновить файлы XCode!

...