objective-c missing - compilation warning: no rule to process file for architecture i386





sourcecode.c.h symbols (5)


If you are getting this warning from your cocoapod you ned to make sure the s.source_files is set correctly in the .podspec.

For example I originally included all files with this line in my .podspec

s.source_files = "MyUIElements/**/*"

I was getting this compilation warning for some font files I had in the pod. You control which files show up in BuildPhases -> CompileSources on pod consumption like this:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"

How can I resolve this warning?

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







We can resolve this issue by simply following the steps below:- Some .md, .mdown .h files are included in the Compile Sources
Step 1) Select Project Navigator
Step 2) Select your project
Step 3) Select your targetStep
Step 4) Select Build PhasesStep
Step 5) Move files which we don't want the compiler to process from Compile Sources to Copy Bundle Resources

Check this




Click on your project, and check that this file is not present in the tab Build Phases. Normally no header files should stay here. Clean and build it again, it should work!




What has happened here is that Xcode has mysteriously added a "Framework Search Paths" entry that points to a particular iPhone device SDK. For example, mine was recently set to:

$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/System/Library/Frameworks

This leads the compiler to find frameworks of the incorrect architecture. Removing any values under the "Framework Search Paths" key in your target's build settings will resolve the issue.





objective-c xcode cocoa-touch compiler-construction