Xcode 9 - не удалось выпустить предварительно скомпилированный заголовок

У меня есть проект в Objective-C, а также в swift, взяв MyProjectName-Bridging-Header.h, а также настроил заголовок Objective-C Bridging Header. Также я добавил 'MyprojectName-Swift.h' в файл .pch.

Это отлично работает на xcode 8.2, но когда я создаю свой проект из xcode 9, я получаю следующую ошибку.

не удалось выпустить предварительно скомпилированный заголовок '/Library/Developer/Xcode/DerivedData/MyprojectName-lajanjvhqjnfjksdsndsfkads/Build/Intermediates.noindex/PrecompiledHeaders/MyprojectName-Bridging-Header-swift_44AHJm3Z96qu-clang_2BIMGQVXGEZ09.pch' для соединения заголовка '/Documents/MyProjectLocaiton/FoneApp-Bridging-Header.h'

Пожалуйста, помогите мне в этом. Спасибо!

Ответ 1

Наконец, я получил решение этой проблемы. В моем проекте путь Prefix Header не определен. Раньше путь был

$(SRCROOT)/MyPrefixHeaderFile.pch

MyPrefixHeaderFile.pch находится в другой папке внутри папки проекта. Поэтому я обновляю путь Prefix Header к

$(SRCROOT)/FolderName/MyPrefixHeaderFile.pch

Ответ 2

Прочтите это, если вы используете cocoapods в проекте. Я просто обновляю цель развертывания до iOS 10 или 11 в моем случае после обновления модулей и xcode делает первый успех сборки. Таким образом, проблема была внутри podfile, где у меня была строка

platform :ios, '11.0'

а моя цель развертывания в проекте - 9.0 после того, как я изменю свой файл на платформу на

platform :ios, '9.0'

был исправлен.

Ответ 3

Вы можете попробовать это решение. Таким образом я решил ту же проблему.

  • Сначала нажмите на логотип

Click on the logo

  1. Затем нажмите "Изменить схему":

Edit Scheme

  1. Теперь, на вкладке build, установите флажок "Найти неявные зависимости":

Find implicit dependencies

Затем сделайте очистку и постройте снова.

Ответ 4

в моей точке зрения я решил просто переключить порядок операторов импорта и прекрасно работает.

Ответ 5

Я узнал, что случайно открыл ProjectName.xcodeproj  файл, а не файл ProjectName.xcworkspace.

Откройте файл xcworkspace, проект снова заработает!

Ответ 6

Возможно, вы создаете новую цель, но вы не добавили ее в podfile

введите описание изображения здесь

Ответ 7

В моем случае у меня была такая же ошибка компилятора с дополнительными ошибками, как "Неизвестный тип" в одном из моих файлов проекта. Поэтому я просто добавил это в проблемный файл, и он немедленно решил его.

#import <UIKit/UIKit.h>

Ответ 8

Также, если у вас есть несколько целей, имейте в виду, что вы должны включать #import в каждый файл.

Ответ 9

Когда вы получаете эту ошибку в терминале после запуска команды xcodebuild, убедитесь, что вы проходите -workspace YourWorkspace.xcworkspace

Ответ 10

Добавление моей собственной ситуации в цикл.

В моем заголовочном файле моста, le'Ts говорят, что я добавил импорт

#import "File.h"

Внутри заголовочного файла File.h существовал тип, на который ссылается импорт, который был внутри Prefix.pch, должен был добавить отсутствующий #import в файл File.h

Ответ 11

@Li Yakun Это решение, если у вас более одной цели в проекте, каждая новая цель в podfile должна иметь:

target 'NEWTARGET' do
    # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!

    # Pods for MAINTARGET
    shared_pods
end