A short digest of mostly low-level things which started to appear on WWDC’16.
APFS - Apple File System
That’s my personal favorite news.
- For all spectrum of devices
- Optimized for SSD
- Copy on write, snapshots, clones
- Planned release - 2017
- Specs and docs will be available after release
There is no information available on how long it has been in work and how long it was tested.
- Objective-C got
__auto_typedeclarations (source), it can be used like this:
- Objective-C got also class properties
- Swift in Xcode 8 will be presented in 2 flavors: 3.0 and 2.3 for those who want to wait a bit before jumping to 3.0 train and still want to use new SDKs.
- new fancy documentation. You have to check it out
- thread sanitizer
- address sanitizer (Swift)
- memory graph debugger
- automatic code generation for Core Data models
- new signing system
The “fun” thing though is that all those changes (except signing system) require migration to Swift 3.0 (if you’re using Swift, it looks like for Obj-C there are no constraints).
dispatch_assert_queueand similar can be quite handy. See the whole family.
- assertions if there is a hang detected due to a deadlock in
OSSpinLock“compatible” with iOS)
- Cleaner Swift API
_NSDictionaryMcombines buffers for 33-50% fewer mallocs source
CFStringCreateCopyearly-outs for tagged pointers now, which makes it 4x faster for ~40% of strings source
CFArrayCreate*will now return
_NSArrayMinstances on iOS/watchOS/tvOS as they have for some time on macOS source
CF_IS_OBJCis way faster (used in bridging) source
- plist encoding/decoding should be a bunch faster due to various changes source