For those of you who like living on the edge, beta 3 of Xcode 6.1 (the current stable version is 6.0) is now available to registered iOS developers. Of note in this release:
- More APIs have been made optional-conformant. The good news is that code will make more sense. The bad news is that some existing code may break.
- Value of type
Any
can now contain function-type values, as you might come to expect from a value namedAny
. - Documentation for the standard library, which shows up in quick help and in the synthesized header for the Swift module, is improved.
- All the
*LiteralConvertible
protocols now use initializers for their requirements rather than static methods starting withconvertFrom
. Any type that previously conformed to one of these protocols will need to replace itsconvertFromXXX
static methods with the corresponding initializer. - Xcode now produces fixit hints to move code from the old-style
fromRaw()
/toRaw()
enum
APIs to the new style-initializer andrawValue
property. - Class properties don’t need to be marked
final
to avoid O(n) mutations on value semantic types. - iOS Playgrounds now support displaying animated views with the
XCPShowView()
XCPlayground API. This is disabled by default, but can be enabled by checking the Run in Full Simulator checkbox in the Playground Settings inspector. When this checkbox is checked, running the playground will cause the iOS Simulator application to launch and run the playground in the full simulator. This is also required for some other functionality that fails without the full iOS Simulator, such asNSURLConnection
http requests. Running in the full iOS Simulator is slower than running in the default mode. - Apple has addressed an issue that could cause Xcode to become unresponsive while editing Swift code.
- Dead code stripping no longer removes public declarations from Swift application targets which are needed by unit testing.
- Weakly-linked symbols no longer cause compilation errors in Playgrounds .
- Swift expressions like
expr
,p
, andprint
that are evaluated from the LLDB prompt in the Debugger console will now work on 32-bit iOS devices. - Profiling App Extensions with Instruments now works.
- Ampersand and double quotation mark characters are now fully supported in the company name for iOS projects you create.
Also available for download is iOS 8.1 beta. As with Xcode 6.1 beta, you have to be a registered Apple developer to get it now.
Remember, these are betas, and the standard caveats apply.
I’ll close with the Dirty Harry clip referenced in the photo at the top of this article, for the benefit of younger readers who may not be familiar with Mr. Clint Eastwood’s iconic character: