I have a UITableViewCell, and if I set its style to anything other than Custom, it gives me the following design-time error:
Illegal Configuration
Only the "Custom" style is supported in versions prior to Xcode 4.2
It will still compile and run fine though.
I'm using Xcode 4.2 (build 4D199), so I don't understand why it is saying this. Furthermore, I can't find anything on the web about this, which makes me suspicious that it's something particular to my setup.
I can duplicate it by creating a new Xcode project and just dropping a UITableViewCell on the designer and setting its style to something other than Basic. If somebody could do this real quick to see if it happens to them, even that might help because then I'd at least know if it's just my setup.
Any ideas are appreciated.
No biggie. This warning is thrown just in case you'll want to open your project in <4.2 interface builder versions. Open your cell's xib and see the development versioning settings (pic bellow)
From the deployment/development drop-downs select the latest Xcode version and warning should go away.
Related
I've upgraded my IOS4.3 app to IOS5 and am getting compile errors. From what I can tell, the syntax looks fine, but the compiler is complaining of "Unexpected #" when I synthesize properties, but only in some classes.
I also have an "Undeclared identifier" in one ViewController's viewDidLoad method.
I've performed a clean build and I'm guessing that there's a default setting which has been changed somewhere, but from scouring around this doesn't seem to be a common issue. Is there a list of common breaking changes anywhere?
EDIT:
This screenshot is one of my ViewControllers, which is derived from UITableViewController
There is a missing # in the line self.title = NSLocalizedString(...). The second parameter doesn't have the leading #.
Coming from a .NET/PHP background, I have very little experience with compilers. The problem was that Apple seem to have changes the default compiler for IOS5 from GCC to LLVM, hence the difference in syntax. It would be nice to be able to use the newer compiler, but GCC's the only one which gets anywhere near close.
Is it possible to create custom UIViews that can be used as plugins on interface builder?
So I can drag and drop them on interface bulder and see how the actual view looks like without havig to run the code to see the view.
It was possible to create plugins for older versions of Interface Builder, but I don't believe it's currently possible in Xcode 4. If you'd like that feature, the best thing to do is to file a bug report with Apple asking for it.
No, Interface Plug-ins is not yet supported by Xcode 4, never was for iOS on older Xcode 3.x.
File a feature request at http://bugreport.apple.com to put more pressure on this issue.
I created a blank NavBar project and only touched a couple lines or so on one of the view controllers. I tested it fine in the 4.3 iPad and iPhone emulator but can't make it work for 4.2 at all. I get an error saying:
The selected run destination is not valid for this action.
This is what I have on my project settings:
Usually in XCode 3 that was all I needed to change but I guess I'm missing some setting in XCode 4.
What could this be?
#pokstad, you are right. I was looking at the wrong place indeed!
Choosing the target and changing the SDk there did the trick.
Thanks!
I really had troubles with this and none of the hints helped.
Finally I got an error message that pointed to an old file in the build folder, in the end a simple clean did resolve my issues (shift+cmd+K). It compiled fine. So remember to clean your current build after you changed the build settings in Xcode4.
This may be obvious, but at that moment it wasn't obvious to me.
I'm developing a new app but I've a little issue with Interface Builder...
I've installed Xcode 3.2.3 and iPhone SDK 4.0 GM.
When I create a new Tab Bar Application project in Xcode, opening the MainWindow.xib file in IB, the Tab Bar Controller won't open... I tried reclicking it but nothing!
I also uninstalled and reinstalled all developer tools but without any results...
Finally if I try to build and run the project in the simulator, the tab bar controller shows normally!
Can anyone help me? :)
It sounds like something similar to what I have experienced with my projects and the new sdk. Some of my IB files such as ones that contain UIViews when double clicking on them they refuse to open.
I haven't had to reinstall or nothing usually quitting IB and xcode and restarting helps I can't remember if I have done anything else to fix it. It may be an issue with the new 3.2.3 xcode as I don't recall having anything like this happen in my 3.2.2 build.
If it becomes a large problem for you have you considered removing the tab bar and rebuilding it? Just a thought. It may be troublesome to do so but if it fixes it and allows you to continue coding your project it would be worth it.
You said in your question that you're running iPhone SDK 3.2.3 with iOS4 GM. You should update your SDK, as the SDK is now at version 4.0 officially.
Otherwise, it sounds like your Xcode installation is somehow corrupted in some way. You may need a complete reinstall.
Why is Refactor... grayed out (disabled) in Xcode?
I'd like to rename a class.
Select the class's symbol in its header file - i.e. the bit just after #interface. Then the refactoring stuff should be enabled.
If you are using Objective-C++ (i.e. mix Objective-C with C++ code) then refactoring is disabled in xcode since it does not support refactoring of C++ code.
Refactor might also be disabled if affected files (most likely the file with your class in it) are not saved.
I've been using Xcode for 5 years now, and refactoring has never worked correctly (even xcode 4.6 has major bugs where it WILL corrupt your source code!).
The workaround has always been (still works 100%, even in cases where Apple's code fails)
use shift-command-f to find all uses of the file
select "replace" in the search settings
"replace-all"
do the following for the .h file, and REPEAT IT FOR THE .m FILE (if you have one):
right click the original file, and select "show in finder"
delete the file from xcode (select "delete references only" when asked)
rename the .h (and .m if you have one) in Finder
in Xcode, select "Product -> (hold down Alt) -> Clean Build Folder"
quit xcode (you can usually get away with not doing this - but NOTE: there are some other MAJOR bugs in Xcode where it crashes itself if you don't do this)
re-open xcode
drag/drop the .h and .m back into Xcode
wait a few seconds (some of Xcode's core methods are asynchronous - allowing it to corrupt your project)
finally, when it seems to be doing nothing (and your hard disk isn't making any noise any more): cmd-b to re-build
I have a 100% success rate with this method. I just tried refactoring with Apple's "Refactor -> Rename" in latest xcode and it failed - again!
(this time with the incorrect error: "Unable to determine the language of", one of those error messages where Apple put the wrong text in place)
I'm going to my project at finder, then change files name by get info.
After that, at xcode -> Project Navigator I delete the files.
At end, I click right on the class and Add files to ..., and add these files again.
It worked for me.
For me I realized Refactor was disabled because the Xcode project I had opened was referencing a Base SDK that was missing. Edit Project Settings and in the Build tab set the Base SDK to one that you have (like for me this was iOS 4.2). This enabled Refactor for me.
Also, it could happen that you renamed the filename for the class, either outside xcode or by ctrl-clicking the filename and then renaming it.
xcode refuses to refactor if filename does not match with the class name.
Go to your class' header file and find the line that looks similar to this:
#interface YourClassName
Right click on the class symbol (e.g. YourClassName) and you should be able to select Refactor -> Rename...
I just tried this and it works in Xcode 5.
This may be a bit late, but I stumbled across this post because I was unable to refactor my "ViewController.swift" file to "WhateverViewController.swift". I tried selecting the file in the Project Navigator and then selecting "Editor -> Refactor" from the top menu, but 'rename' is always greyed out.
Instead, what worked was selecting the ViewController name from the editor. So if you have:
class ViewController: UIViewController {
// Code here...
}
Highlight the "ViewController" word and then select Refactor from the menu or right-click and select Refactor -> rename.
Hopefully that helps...
Had this problem as well. I ran through trying to find missing SDKs, saving files, and looking for Objective-C++ code as mentioned above, and all it took to fix my machine was rebooting XCode.
Seems a little buggy still.
BTW, this was for XCode 4.0.1
Refactoring works If you first change the file name in the project navigator.