xCode 4.4 does not get all the .pch file headers i

2019-03-08 08:01发布

问题:

This is my .pch file -

   //
// Prefix header for all source files of the 'English Club' target in the 'English Club' project
//

#import <Availability.h>

#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import <CoreData/CoreData.h>
    #import "Helper.h"
    #import "Animations.h"
    #import "Constants.h"
    #import "SoundPlayer.h"
    #import "UAirship.h"
    #import "UAStoreFront.h"
    #import "UIIMagesNames.h"
    #import "UIView+Sizes.h"
    #import "HelpButton.h"
    #import "SoundPlayer.h"
    #import <RestKit/RestKit.h>
    #import "UIHelpSoundFiles.h"


#endif

Still it is very frequent that Xcode will give me errors that he can not find those classes. (Helper for example). The thing is that the project will be compiled and work fine but I have hundreds of errors that disturb me looking for the real ones.

Any idea why?

回答1:

This appears to be a known issue in Xcode 4.4 (as seen in the release notes)

It is suggested to Delete the PCH index folder to workaround this issue.

To locate this folder, in Xcode, open the Organizer and select the Projects tab, then select the project in the left-hand pane. You should see the Derived Data path for this particular project with a small arrow to Show in Finder. If you click on this arrow, you will be taken to the right location in Finder. If you then navigate to the Index subfolder and delete PrecompiledHeaders folder, you should be all set.

Xcode should re-index, and re-create this folder, but the errors should be gone.



回答2:

I found that just updating your pch file (add and delete space) and rebuild will cause xcode to fix those problems



回答3:

I know this is an old post but I wanted to share my experience. Im running Xcode 6.1 the fix was to delete the Tests target. for example MyProjectNameTests.



回答4:

Also check if both your app.pch and the app_Test.pch have the required imports. Sometimes you might be staring at the main pch, but the errors are for the unit tests pch.



回答5:

Xcode 5 Update:

You can now delete derived data straight from Xcode Organizer. Delete, clean, and build solved the problem for me.



回答6:

Also one of the problem could be that .pch file is not set for a target. To do that do the following:
1. Go to the target settings.
2. Option Precompile Prefix Header set to YES.
3. For Prefix Header add a project relative path or an absolute path.