What’s New in Xcode 8 beta 2

Yogev Sitton
4 min readJul 6, 2016

--

Apple has released the second beta of Xcode 8 — here’s what’s new and improved in the new version.

Swift Updates

  • You can now use the base property to have readonly access to base collections for Slice types. Suggested by Max Moiseev.
  • Nested generic functions may capture bindings from the environment
  • Initializers are now inherited for generic base or derived classes
  • Error messages for unexpected null values that were caused by implicit unwrapping will now give the location of the “!”
  • Objective-C protocol-qualified classes (<NSCoding> as an example) are now imported into Swift as protocol type values (NSCoding.Type).
  • File literals in playgrounds now have the URL struct type rather than NSURL.

IDE Updates

  • If your CODE_SIGN_ENTITLEMENTS value is conditionalized per-SDK, you now need to add a setting for the appropriate simulator SDK(s) explicitly. Previous versions of Xcode fall back to the iOS SDK’s value. This is no longer the case.
  • Memory graph debugging is now available for WatchKit extensions.
  • Xcode Server queued integrations that are not yet running can be canceled.
  • Xcode Server email notification triggers can now be configured with custom CC and Reply-To address.
  • Xcode Server pending integrations will now show the expected start time and number of integrations ahead in the queue.
  • Xcode Server running integrations will now show how long the integration has been running.
  • Application Thinning can now be disabled for when exporting an installable product using Xcode Server Bots.
  • Xcode playgrounds now support running with open-source Swift toolchains from Swift.org.

IDE Fixes

  • Xcode can now exist at a location with spaces in the path.
  • In cases where Xcode Source Editor extension takes too long to return to Xcode a cancellation banner will be shown.
  • templates tvOS projects now has the “Top Shelf Image Wide” slot available from Assets.xcassets.
  • Reduced assertion failures from logd when running the iOS 10.0 Beta, tvOS 10.0 Beta, or watchOS 3.0 Beta simulators.
  • SKVideoNode is now available in the iOS and tvOS Simulator Runtimes.
  • Audio quality no longer affected while debugging applications in the tvOS Simulator.
  • Logs are now visible when debugging on the Simulator.
  • Debugging with address sanitizer does not result in a runtime error about dyld inserting the ASan library.
  • UIVisualEffectViews now rendered by the View Debugger
  • View Debugger now works for iOS 8 simulator
  • CALayer transformations no longer causes the View Debugger to incorrectly space out views in 3D
  • Xcode can launch Intent extensions and invoke Siri for debugging.
  • A UIDatePicker configured in Interface Builder no longer have double width at run time.
  • Custom font names now recorded once per document instead of once for each use in a document.
  • XLIFF export no longer includes accessibilityIdentifier strings configured in Interface Builder.
  • UILabel/UITextField/UITextView with size classes enabled and custom fonts are now correctly show by the Interface Builder.
  • Running iOS 8/9 simulator and then iOS simulator no longer messes with the NSUserDefaults function.
  • The hardware keyboard will no longer appear to be toggled and the menu state will be correct after erasing a device’s settings
  • Authorize Apple Pay menu item works for iOS Simulator.
  • iPad Pro (9.7 inch) Simulator now show image assets with wide-gamut color display properly.
  • Copy/paste between the macOS pasteboard and iOS 10.0 pasteboard now supported by the simulator.
  • iOS devices do not lock themselves before running unit tests.
  • Unit tests do not hang on devices running iOS 9.3.2.
  • The App Icons Source selection pop-up button in the Project Editor’s General tab correctly indicates that .stickericonset asset catalog type is eligible.
  • There’s now a notification for cases where Xcode Server integrations are not running because the custom integration user is not currently logged in.
  • Bots are visible in the Report Navigator if Xcode is not connected to a network at launch time.
  • Post-integration emails are now being sent when emails are configured to only send on certain types of issues.
  • The Points of Interest instrument is available on macOS, iOS, tvOS, and watchOS.
  • Making code changes to a Swift project and building does not result in a binary that fails to run and errors about “dyld: Library not loaded”
  • The Swift migrator builds the correct targets when workspaces contain multiple targets that build products with the same name for different platforms.
  • Disabling automatic code generation for a specific entity in the Xcode Core Data data model editor now persists.
  • Unlocalized AppIntentVocabularly.plist files now work correctly for Siri
  • Xcode can load revisions with the Git color configurations enabled in the local user config.
  • When opening a sheet for the first time — the file navigator in the commit sheet does not appear collapsed.
  • Xcode does not crash opening certain Interface Builder files with the Version Editor open.
  • HTTPS repositories added to Xcode do not lose their password after restart.
  • Switching between modes of the comparison editor behaves normally for SVN repositories.
  • History for projects containing files with umlaut characters displays correctly

--

--