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”

走远了吗. 提交于 2020-01-02 00:12:10

问题


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.


回答1:


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.




回答2:


Restarting Xcode did not fix this for me (although it does normally fix a lot of things). I also didn't like the idea of File >> Save As Workspace. As the workspace should already be in my .xcodeproj file, so I didn't want another one. I found another solution that fixed it for me: Window >> Organiser and then Delete Derived Data for my project. Found it mentioned in this other question.




回答3:


I was able to get past this error by choosing File >> Save As Workspace.




回答4:


For me personally it was a combination of things.

  1. Deleted derived data from Organizer > projects. (Didn't work after this step)
  2. Restarted Xcode. (Worked after this step)



回答5:


I have just run into this issue as well. I found that running:

Product->Clean

Fixed the problem, and I can now use refractor again.




回答6:


I replaced some dead values in project.xcworkspace (Show Package Contents on your Xcode project file) and the problem went away




回答7:


Have you ever deleted .xcworkspace in Finder? Although the file will be auto-generated by Xcode again, yet its content will be changed. I think that causes your problem. I saw a post recommends to delete .xcworkspace for the purpose of enhancing build speed. Well, mind the catch.



来源:https://stackoverflow.com/questions/6855283/refactor-function-error-is-not-part-of-the-build-phase-of-any-targets-in-the

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!