refactor function error - "is not part of the build phase of any targets in the Xcode 3 projects in this workspace and so can't be refactored"

iphone, xcode, xcode4

Solution

I had this issue today on a project which don't use workspace at all. I couldn't get why Xcode behave wired. Auto complete worked, but return some really unrelevant results as my FAMILY NAME (?!) for a class I was working on.

I found it to be a bug in Xcode 4.1 under OS X 10.7.1 along side with other issues i had. When I reopen my project, the message was gone, refactoring worked as expected and auto-completing worked as well.

September 2013 Update: It seems that this bug is happening also on Xcode 5 & 10.8.5.

Problem

Trying to rename a function's name via the refactor->rename button in a categoriy's .h file in XCode 4.1 I'm getting this error: (error and body) UINavigationController+ZG.h is not part of the build phase of any targets in the Xcode 3 projects in this workspace and so can’t be refactored. Add the file to the build phase of a target in an Xcode 3 project in this workspace, or make a selection in another file. Not sure what it wants and why it's saying something about xcode 3 when i don't have any xcode 3 projects or anything like that.

Original source

Related problems