PDA

View Full Version : Xcode Developer Toolset Updated to Version 4.6




MacRumors
Jan 28, 2013, 01:51 PM
http://images.macrumors.com/im/macrumorsthreadlogo.gif (http://www.macrumors.com/2013/01/28/xcode-developer-toolset-updated-to-version-4-6/)


http://images.macrumors.com/article-new/2013/01/xcode4.6.jpg
Following the release of iOS 6.1 (http://www.macrumors.com/2013/01/28/apple-releases-ios-6-1-with-new-lte-carriers-and-fandango-siri-integration/), Apple has updated its Xcode developer toolset as well. The new version, Xcode 4.6, includes improvements in code completion heuristics, new compiler warnings, and other coding improvements.
What's new

- Includes SDKs for OS X 10.8 Mountain Lion and iOS 6.1.
- Code completion heuristics are more accurate, and use an optimized default data set.
- New compiler warnings help identify potential bugs when using ARC and weak references.
- C++11 support for 'user defined literals' and 'unrestricted unions' features.
- Debugger can inspect elements within NSArray or NSDictionary objects.
- Analyze now performs deeper cross-function static analysis of Objective-C and C++ code.
- The number of indexing passes is reduced due to improved dependency checking.
- Additional bug fixes and stability improvements.Xcode 4.6 is available as a free download (http://appshopper.com/mac/developer-tools/xcode-3) from the Mac App Store. [Direct Link (https://itunes.apple.com/us/app/id497799835?mt=12)]

Article Link: Xcode Developer Toolset Updated to Version 4.6 (http://www.macrumors.com/2013/01/28/xcode-developer-toolset-updated-to-version-4-6/)



khirok
Jan 28, 2013, 02:11 PM
- Debugger can inspect elements within NSArray or NSDictionary objects.


This should have been in XCode 3! Been needing this for years and has added hours to my life adding logging statements to see the contents of these.

valexa
Jan 28, 2013, 02:40 PM
is it just me or is the update really 1.3 GB, pretty much as big as the full 1.5 GB Xcode in the store.

Peace
Jan 28, 2013, 02:42 PM
Told ya !

http://forums.macrumors.com/showpost.php?p=16732353&postcount=72

ArtOfWarfare
Jan 28, 2013, 02:55 PM
Great news, all around.

Has Clang been updated? I was finding quirks with it refusing to compile some C++ code a week or two ago... I'm wondering if that code will still not compile.

MrCubes
Jan 28, 2013, 03:23 PM
This should have been in XCode 3! Been needing this for years and has added hours to my life adding logging statements to see the contents of these.

I'm hoping this is the start of a much-needed and long overdue ramp up of the debugger support. For me, at least, it's the weakest part of the XCode experience by far.

I'm giving them a pass for getting things on track with lldb and see this latest change as a step in the right direction. I'm hoping they'll run with it from here the way they have with the static analysis etc.

mdriftmeyer
Jan 28, 2013, 03:39 PM
LLVM/Clang 3.3 will be a big update to LLDB, C11, C++11, ObjC [ARC and more] OpenCL, OpenGL and a complete advancement in design modularity.

Both NVPTX [Nvidia] and R600 [AMD GPGPUs] targets and lots of OpenCL work. Not to mention OpenMP support and ARM64 amongst other target additions.

yehudah72
Jan 28, 2013, 04:17 PM
This should have been in XCode 3! Been needing this for years and has added hours to my life adding logging statements to see the contents of these.



Hey Bro, I understand your frustration, but Apple does have other tasks on hand... give 'em some luv!!!






Love & Peace,
yehudah

Stella
Jan 28, 2013, 04:29 PM
Hey Bro, I understand your frustration, but Apple does have other tasks on hand... give 'em some luv!!!






Love & Peace,
yehudah

Being able to inspect dictionaries and arrays using the debugger is functionality that a developer would expect to exist.

KnightWRX
Jan 28, 2013, 04:30 PM
Being able to inspect dictionaries and arrays using the debugger is functionality that a developer would expect to exist.

It did. You people didn't know about Right-Click->Inspect ?

Worked fine, just a bit less visual than the new functionality.

dethmaShine
Jan 28, 2013, 05:10 PM
This should have been in XCode 3! Been needing this for years and has added hours to my life adding logging statements to see the contents of these.

I totally agree. It's beyond me why they didn't do it with Xcode 3 itself.

Mr. Retrofire
Jan 28, 2013, 06:36 PM
Great news, all around.

Has Clang been updated? I was finding quirks with it refusing to compile some C++ code a week or two ago... I'm wondering if that code will still not compile.
It is usually not the compiler. Your project is probably an old GCC project, which has visible or invisible settings, which are incompatible with other compilers, such as Clang.

Saladinos
Jan 28, 2013, 07:26 PM
Hopefully bracket autocomplete is fixed.

Why does it insist on inserting a ')' after every '(', even if there's an unclosed ')' already? God that drives me nuts!

DaveP
Jan 28, 2013, 09:23 PM
This should have been in XCode 3! Been needing this for years and has added hours to my life adding logging statements to see the contents of these.

WooHoo! 2001 here we come!

Saladinos
Jan 28, 2013, 10:30 PM
Bracket completion hasn't been fixed. Also the dictionary inspector doesn't support CFDictionaryRef or CFMutableDictionaryRef objects :sigh:

You can work around it by telling it to display as an NSDictionary, but that's not really a solution.

shurcooL
Jan 28, 2013, 11:08 PM
Awesome news, the latest Xcode is quite good. And clang has the best C++11 support to date, much better than MSVC 2012.

Here are the changes from 4.5.2 to 4.6:

$ xcrun clang --version
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
$ xcrun clang --version
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

$ xcrun git --version
git version 1.7.10.2 (Apple Git-33)
$ xcrun git --version
git version 1.7.12.4 (Apple Git-37)

ChristianJapan
Jan 29, 2013, 06:12 AM
I didn't touched XCode recently too much. Anyone has a hint for me if the wireless deployment meanwhile is back ? I found the idea of XCode 4.2 to wireless manage devices nice; less dealing with cables. It got removed in 4.3 but never showed up again. Was there any statement from Apple ? Just curious ...

TouchMint.com
Jan 29, 2013, 08:44 AM
Hopefully bracket autocomplete is fixed.

Why does it insist on inserting a ')' after every '(', even if there's an unclosed ')' already? God that drives me nuts!

Thats just xcode playing games it likes to have fun too!

ConCat
Jan 29, 2013, 09:42 AM
Bracket completion hasn't been fixed. Also the dictionary inspector doesn't support CFDictionaryRef or CFMutableDictionaryRef objects :sigh:

You can work around it by telling it to display as an NSDictionary, but that's not really a solution.

Apple generally prefers you work with Objective-C style objects. Core Foundation is just there to enhance C compatibility... They haven't even given Core Foundation ARC yet. It's a bit of a second-class citizen in general.

D.T.
Jan 29, 2013, 09:46 AM
*Had* to update to 4.6 after updating my iP5 to 6.1 (of course, right in the middle of something), then XC terminated trying to startup after the install, finally got it sorted out, got my 6.1 deployment target up and running again. Fixed some munged up tablecells too (just the visual layout in storyboard).

notarysojac
Jan 29, 2013, 10:05 AM
Hi Saladinos...

Not sure your point of complaint ever was a behavior - meaning PARENS '(' were auto-balanced.

It's always been the BRACES '{' and BRACKETS '[' which were the added characters, depending on preferences settings as per auto-completion.

Just saying...

shurcooL
Jan 29, 2013, 10:09 AM
Well, here's one very obvious bug that's still not fixed:

Press Cmd+F to open a find dialog, type some query that gets lots of results, press Enter to select next result, it works fine, but Shift+Enter has a problem - it goes to previous entry, then to next one, effectively looping in place.

On the other hand, Cmd+G and Cmd+Shift+G work fine without the bug.

Saladinos
Jan 29, 2013, 10:55 AM
Apple generally prefers you work with Objective-C style objects. Core Foundation is just there to enhance C compatibility... They haven't even given Core Foundation ARC yet. It's a bit of a second-class citizen in general.

Yeah but C compatibility is kind of important. Also, unless you're targeting iOS6 (and NSMapTable, which I'm unsure if this new inspector will detail), it's the only way to get a dictionary that doesn't copy its keys or retain its values.

As for bracket autocompletion, the problem is this:

4 + 3

4 + 3 )

(4 + 3 ) now press space...

( )4 + 3 ) why does XCode insert this bracket?!

I like the bracket autocompletion in general, but this one thing just annoys the hell out of me. There's nothing to complete here, the brackets are already closed.

Marjamrob1
Jan 29, 2013, 11:25 AM
Yeah but C compatibility is kind of important. Also, unless you're targeting iOS6 (and NSMapTable, which I'm unsure if this new inspector will detail), it's the only way to get a dictionary that doesn't copy its keys or retain its values.

As for bracket autocompletion, the problem is this:

4 + 3

4 + 3 )

(4 + 3 ) now press space...

( )4 + 3 ) why does XCode insert this bracket?!

I like the bracket autocompletion in general, but this one thing just annoys the hell out of me. There's nothing to complete here, the brackets are already closed.

Ya, those brackets are really weird.

ConCat
Jan 29, 2013, 12:23 PM
Yeah but C compatibility is kind of important. Also, unless you're targeting iOS6 (and NSMapTable, which I'm unsure if this new inspector will detail), it's the only way to get a dictionary that doesn't copy its keys or retain its values.

As for bracket autocompletion, the problem is this:

4 + 3

4 + 3 )

(4 + 3 ) now press space...

( )4 + 3 ) why does XCode insert this bracket?!

I like the bracket autocompletion in general, but this one thing just annoys the hell out of me. There's nothing to complete here, the brackets are already closed.

I've noticed this quite often too. Sometimes the I realize I need to enclose something in brackets after it's been typed, so I put the end bracket first since i'm already at the end, then go to the beginning, and magically that extraneous bracket appears. Ah well, it's clearly a very simple logic error that would take all of five seconds to fix, they just have to do it...

rols
Jan 30, 2013, 01:50 AM
I've noticed this quite often too. Sometimes the I realize I need to enclose something in brackets after it's been typed, so I put the end bracket first since i'm already at the end, then go to the beginning, and magically that extraneous bracket appears. Ah well, it's clearly a very simple logic error that would take all of five seconds to fix, they just have to do it...

It's horrible. I filed 12022215 against that at the start of August 2012, closed as a dupe of 11339104. Still not fixed.

I've learned the muscle memory when I insert a paren like that to use the left arrow over it, then the right arrow and THEN type the space. That stops it happening but it should be fixed.

I wonder if the variable-completion bug in the debugger is fixed, the one where after a while it would autocomplete but not in 'ghost' mode, but in full type mode so you end up with garbage at the end of the line as you keep typing.

I filed that one last year too, they asked me to test the fix, I did, said it didn't work, and the bug was closed anyway which I found rather annoying.

gnasher729
Jan 30, 2013, 01:59 AM
Great news, all around.

Has Clang been updated? I was finding quirks with it refusing to compile some C++ code a week or two ago... I'm wondering if that code will still not compile.

Do you mean "it refused to compile code that it compiled before" or "I tried to compile some code for the first time, and it refused"?

99% of the time when this happens the C++ code wasn't valid C++. Happens a lot with template heavy code developed for Windows.

ArtOfWarfare
Jan 30, 2013, 04:32 AM
Do you mean "it refused to compile code that it compiled before" or "I tried to compile some code for the first time, and it refused"?

99% of the time when this happens the C++ code wasn't valid C++. Happens a lot with template heavy code developed for Windows.

It had compiled and run on a school computer running Windows 7 (IDK what compiler... Maybe G++?) but later wouldn't compile on my own computer running Mountain Lion (using Clang... I didn't try it with G++... I just rewrote the code Clang had complained about a different way.)

gnasher729
Jan 30, 2013, 08:17 PM
It had compiled and run on a school computer running Windows 7 (IDK what compiler... Maybe G++?) but later wouldn't compile on my own computer running Mountain Lion (using Clang... I didn't try it with G++... I just rewrote the code Clang had complained about a different way.)

That's not unusual. Compiling on Windows doesn't mean it's valid C++.


Great news all around..
I hope that this will make C++ coding easy for me..

The C++ upgrade is minimal. User defined literals have been added and unrestricted unions (since 4.5.2). I wouldn't say either of them is a feature that makes coding easier, but it makes C++11 support more complete.