build rules for xcode / iPhone

Im incorporating the facebook SDK into an update and i get compiler warnings for four files,in one of my targets each file gets two warnings like these.

[WARN]warning: no rule to process file '$(PROJECT_DIR)/APP_NAME/Facebook.h' of type sourcecode.c.h for architecture armv7

[WARN]warning: no rule to process file '$(PROJECT_DIR)/APP_NAME/Facebook.h' of type sourcecode.c.h for architecture armv6

and in the other target each file only generates one warning,

[WARN]warning: no rule to process file '$(PROJECT_DIR)/APP_NAME/FBConnect.h' of type sourcecode.c.h for architecture i386

in the documentation for the facebook SDK they tell me to add i386 to the valid architectures in the build settings, but they dont say anything about any 'build rules' the strange thing is that I already incorporated the same facebook SDK into another app without a single problem. The only difference that I can see is that this project already had two targets, and (each of) these warnings are only coming from one of them. Can anybody give me a clue how to make a build rule for these four files? do I need build rules for armv6 and armv7 AND i386?

the build settings are exactly the same except for a different -info.plist and different .pch file each. I should add that the facebook functionality is working fine on the simulator but not in any test device using either of the build targets.

thanks so much.


Assuming you're using Xcode 4, it's likely that the dependency checker is confused because there are .h files in list of C files to be compiled.

So.... Navigate to your target's "Build Phases" tab. (Click on the project, then click on the target's name, then click on the "Build Phases" tab.)

Ensure that you didn't drag any .h files into the "Compile Sources" section.

It's common, when importing code, to just drag the whole lot into that section, not realizing that .h files aren't technically compiled, and the dependency checker isn't smart enough to spit out more helpful error message.

The list should only have .m files. I don't know if we can put a .c file in it, but there should not be any other filetype. I fond that some developers even dragged Javascript files into the compiled sources. If you are facing the same problem, you should probably remove any non '.m' files from list of compiled sources. Here is how you do it, assuming you are running on Xcode4.

Open up your project target's "Build Phases" tab. (Click on the project, then the target's name, and then on the "Build Phases" tab). In the the compiled sources section, make sure that you dont have any files other than .m files.

Happy Hacking.

Need Your Help

Sending images by mail

java image javamail hotmail

I've written a mail that'll send emails with images as attachments. The images are displaying in yahoo and gmail. But hotmail is displaying a square grey box wherever there should be an image. The

Combine master-detail databinding

.net winforms data-binding

I have created data sources from my objects in my project, some of which have other objects as members. When I want to bind a some objects to a data grid I would like to display some of the values ...