it-swarm.com.ru

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

У меня есть проект в Objective-C, а также в Swift с использованием MyProjectName-Bridging-Header.h, и я также настроил заголовок моста Objective-C. Также я добавил «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'

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

26
Shubham

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

$ (SRCROOT) /MyPrefixHeaderFile.pch

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

$ (SRCROOT) /FolderName/MyPrefixHeaderFile.pch

8
Shubham

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

platform :ios, '11.0'

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

platform :ios, '9.0'

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

12
ua24

Также убедитесь, что ваш импорт "ProductModuleName-Swift.h" находится в вашем файле .m, а не в вашем файле .h.

5
Harris

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

Продукт> Схема> Редактировать схему> Выберите «Построить» в левом меню> Найти неявные зависимости

На вкладке сборки установите флажок «Найти неявные зависимости»:

Find implicit dependencies

Затем почистите и постройте снова.

3
Okan Yücel

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

3
Alessio Campanelli

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

 enter image description here

3
Li Yakun

Я обнаружил, что случайно открылProjectName.xcodeproj файл, а неProjectName.xcworkspacefile.

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

2
nikdange_me

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

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

#import "File.h"

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

2
Marc-Alexandre Bérubé

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

#import <UIKit/UIKit.h>

1
Benzi Heler

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

0
Anand

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

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
0
clopex

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

0
Gabriel Oliva