iosswiftcompiler-errorsobjective-c-swift-bridge

Failed to emit precompiled header for bridging header


I downloaded a project from GitHub, then pod the following files, some of which are written by OBJ-C and I used a bridge header.

pod ‘SnapKit’
pod ‘MJRefresh’
pod ‘Alamofire’
pod ‘Kingfisher’
pod ‘MBProgressHUD’
pod ‘pop’
pod ‘EVReflection’
pod ‘StreamingKit’
pod ‘iCarousel’
pod ‘ReflectionView’

When I run the project with Xcode 9.0 beta 2, but unfortunately the error log as follows :

error: failed to emit precompiled header '/var/folders/kd/4gh0_kxx3jx4thjb_sssmmcw0000gn/T/EvoRadio-Bridging-Header-97bd5f.pch' for bridging header '/Users/ringo/Downloads/EvoRadio-master/EvoRadio/Resources/EvoRadio-Bridging-Header.h'

I have googled, but no such issue.The error means it needs a PCH file? This is my .pch header configuration: enter image description here It can't solve it.

How to make it?


Solution

  • I also got exact same issue (Xcode9 beta 6) after I added cocoa pods for Encrypted Core Data.
    This is my PodFile:

    # Uncomment the next line to define a global platform for your project
    platform :ios, '9.0'
    pod 'EncryptedCoreData', :git => 'https://github.com/project-imas/encrypted-core-data.git'
    
    target 'Root' do
      # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
      use_frameworks!
    
      # Pods for Root
    
      target 'RootTests' do
        inherit! :search_paths
        # Pods for testing
      end
    
      target 'RootUITests' do
        inherit! :search_paths
        # Pods for testing
      end
    
    end
    

    Solution:
    1 I added $(inherited) non-recursive to Search Path -> Header Search Paths
    2 Then added ${PODS_ROOT} recursive to Search Path -> User Header Search Paths
    Both the above in my projects' target build settings.

    Please have a look at these SO answers:
    1 Inherit Header Search Paths
    2 Inherit User Search Paths