- Xcode 12 beta includes SDKs for iOS 14
- iPadOS 14
- tvOS 14
- watchOS 7
- macOS 11
- The Xcode 12 beta release supports on-device debugging for iOS 9 and later
- tvOS 9 and later
- watchOS 2 and later
- Xcode 12 beta requires a Mac running macOS Catalina 10.15.4 or later.
- Now in Xcode have minimap in Interface Builder canvas. You can show and hide minimap from “Adjust editor options” dropdown.
Adjust editor options > Canvas > Minimap
You can also double-click, command-click or drag in the minimap to focus on a specific part of the interface builder area. And you can drag and drop the minimap to different corners.
- Documents can now be opened in a separate tab, we can adjust the document arrangement of tab according to the current working task. Open the separate tab by option-click or double-click.
- Now Interface Builder has a new option for Current Date -> NSDatePicker*
- Find and Replace now includes matches in attributed string literals.
- Now UIButton has new ButtonType for dismissing panels and views -> UIButton.ButtonType (case close = 7)
- NSTableViewStyle have new support with Automatic, Full Width, Inset, and Source List options
Now macOS 11 Added support for selecting text styles and SF Symbols.
- Now in Xcode 12, breakpoint displays the hit count for particular breakpoint location. “Breakpoint 1.1 (1)”, where 1 means that location 1.1 has been hit 1 time.
- When a process crashes under the debugger, Xcode prints the crash messages in the Console. These messages are similar to the ones displayed in CrashReporter.
- Drag and drop the breakpoints into a different position in the Breakpoint Editor.
- Xcode 12 view debugger generates runtime for issues for performance Optimization Opportunities for CALayer.
- Show or hide performance runtime issues. -> (Choose Editor > Show Optimization Opportunities)
- Show Layers to view CALayers in the view debugger -> (Choose Editor > Show Layers)
The view debugger now generates runtime issues for performance Optimization Opportunities for CALayer. Choose Editor > Show Layers to view CALayers in the view debugger. Choose Editor > Show Optimization Opportunities to show or hide performance runtime issues. (60103476)
Now in Xcode 12, we can export the View hierarchies to .viewhierarchy files.
- Xcode 12 Rename the function with definition or references that are escaped with backticks. (Editor > Refactor > Rename)
- Xcode 12 simulator can display in the full-screen mode, or tile its window alongside Xcode.
For keeps device windows in front of other applications window -> Window > Stay On Top
- Simulator now supports 64-bit and 32-bit processes for watchOS 7. To verify watchOS projects are 64-bit clean in Simulator, make sure ARCHS is set to its default value.
- The simulator uses the internal microphone by default, and we can select a different audio source. This avoids triggering phone call mode on Bluetooth headsets which degrades audio quality while listening to music.
- Now in Xcode 12 code completion invocations inside Swift function bodies 12 times faster compared to Xcode 11.5.
- Now declare conditions for a Swift package’s target dependencies, such as limiting the dependencies by the platform.
- Swift packages can now contain localized content for any resource in the package. In addition to localized content in asset catalogues, Xcode supports separate localization files in .lproj folders
let package = Package( name: "MyLibrary", defaultLocalization: "en", platforms: [ ], products: [ // Products define the executables and libraries a package produces, and make them visible to other packages. ], dependencies: [ // Dependencies declare other packages that this package depends on. // .package(url: /* package url */, from: "1.0.0"), ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. // Targets can depend on other targets in this package, and on products in packages this package depends on. )