New features in XCode 10

Supported Configurations

  • Xcode 10 beta requires a Mac running macOS 
    1
    10.13.4

     or later

  • Xcode 10 beta includes SDKs for 
    1
    iOS 12

    1
    watchOS 5

    1
    macOS 10.14

    , and 

    1
    tvOS 12

    .

  • The final release of Xcode 10 will be available in the Mac App Store. Previous versions of Xcode Download from here.

Deprecation Notices

  • The macOS 10.14 SDK no longer contains support for compiling 
    1
    32-bit applications

    . If
    developers need to compile for i386, Xcode 9.4 or earlier is required.

New Features XCode 10 – IDE

  • Library content has moved from the bottom of the Inspector area to an overlay window, which can be moved and resized like Spotlight search. It dismisses once items are dragged, but holding the Option key before dragging will keep the library open for an additional drag.
    The library can be opened via a new toolbar button, the View > Libraries menu, or the ⇧⌘L
    keyboard shortcut.
  • Custom code snippets can now be added to the library via the Editor > Create Code Snippet
    menu item.
  • Newly-created schemes are now shared by all users of an Xcode project. To create a personal scheme, uncheck the “Shared” checkbox in the “Manage Schemes” sheet.
  • Select Schemes and Run Destinations from the keyboard. Press 
    1
    “Ctrl+0”

     to open the Scheme
    popup and 

    1
    “Ctrl+Shift+0”

     to open the Run Destination popup. Once the popup appears, type
    enough characters to highlight the appropriate entry, use the arrow keys to highlight it, and press return to select it.

Source Editor

  • The Xcode Source Editor now supports multi-cursor editing allowing you to quickly edit multiple ranges of code at once.
    You can place additional cursors with the mouse via 

    1
    ⌃+⇧+Click or

    with column select

    1
    (⌥+Click+Drag),

     or with the keyboard using 

    1
    ⌃+⇧+Up to

     column select up or 

    1
    ⌃+⇧+Down

     to
    column select down.

  • 1
    Updated default source editor themes for light and dark

    , with improved colors optimized for contrast, and taking advantage of bold and italic font traits.

Source Control

Integration with Bitbucket Cloud,Bitbucket Server source control, GitLab self-hosted source control etc.





 

Interface Builder (Storyboard / Xib’s)

  • Canvas rendering now happens in parallel, and scales based on demand and hardware to
    improve the performance of edit operations, particularly for large scenes.
  • The “Stack” button in the canvas bar has been replaced with a pop-up menu containing all
    embedding options for the selection.
  • The Editor > Embed In menu item allows embedding in a tightly-wrapped view that doesn’t add
    any margins to the selected content
  • Resizing a 
    1
    UIStackView

    or NSStackView along its distribution axis in the canvas will adjust
    spacing between items.

  • The menu for choosing a font family in the Attributes inspector now renders a preview of each font.
  • Support for Large Title font text style (UIFontTextStyleLargeTitle) on iOS 11 or later, and on watchOS 5.
  • Image and color inspector properties that reference an asset catalog resource have a navigation button to jump to that resource. Option + click will show the resource in the Assistant Editor
  • Controls using named colors from an asset catalog now update as the value of the color
    changes.
  • Inspector color pickers now use a standard pop-up button. The color swatch can be dragged by holding the Option key

 





iOS SDK

  • In iOS 12, the default value of the UITableView property
    1
    cellLayoutMarginsFollowReadableWidth

     is now false. This means by default, table view
    cells will no longer have their layout margins increased automatically when the table view is
    wider than the maximum readable width.
    If you are using a table view to display text that spans multiple lines, in order to improve
    readability when the table view is very wide you should opt-in to these automatic margins by
    setting cellLayoutMarginsFollowReadableWidth to true, or consider adapting your layout to
    better take advantage of the additional horizontal space.

  • New UILabel inspector property “Marquee on Ancestor Focus” for controlling scrolling
    behavior

Asset Catalog

  • Support for varying image and color assets by 
    1
    Light, Dark, and High Contrast

     appearances on macOS 10.14 and above.

  • Support for CarPlay assets.
  • Support for ARKit 3D ARReferenceObject assets.
  • The background of the asset catalog and view debugger can be set explicitly to light or dark so foreground elements display with sufficient contrast.

New in Xcode 10 beta – Apple LLVM and Swift Compilers

Apple LLVM Compiler

  • The static analyzer is more efficient and will report additional issues on most programs.
  • The static analyzer checks for a common performance anti-pattern when using Grand Central
    Dispatch, which involves waiting on a callback using a semaphore:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
+ (<span class="hljs-type">NSString</span> *)requestCurrentTaskName {
 __block <span class="hljs-type">NSString</span> *taskName = <span class="hljs-literal">nil</span>;
 dispatch_semaphore_t sema = dispatch_semaphore_create(<span class="hljs-number">0</span>);
 <span class="hljs-type">NSXPCConnection</span> *connection =
 [[<span class="hljs-type">NSXPCConnection</span> alloc] initWithServiceName:@<span class="hljs-string">"MyConnection"</span>];
 id remoteObjectProxy = connection.remoteObjectProxy;
 [remoteObjectProxy requestCurrentTaskName:^(<span class="hljs-type">NSString</span> *task) {
 taskName = task;
 dispatch_semaphore_signal(sema);
 }];
 dispatch_semaphore_wait(
 sema,
 dispatch_time(<span class="hljs-type">DISPATCH_TIME_NOW</span>, <span class="hljs-number">100</span>)
 );
 <span class="hljs-keyword">return</span> taskName;
}

Such a pattern can degrade performance and cause hangs in your application. The check is
currently disabled by default, but can be enabled using the build setting “Performance AntiPatterns with Grand Central Dispatch”.

Whats new in Swift

  • The new CaseIterable protocol describes types which have a static allCases property that is
    used to describe all of the cases of the type. Swift will synthesize this allCases property for enums that have no associated values.
    Follow this link for Swift .

1
2
3
4
5
6
7
8
9
10
code <span class="hljs-number">10</span> beta <span class="hljs-type">Release</span> <span class="hljs-type">Notes</span>
<span class="hljs-type">Xcode</span> <span class="hljs-number">10</span> beta <span class="hljs-type">Release</span> <span class="hljs-type">Notes</span>
<span class="hljs-class"><span class="hljs-keyword">enum</span> <span class="hljs-title">Suit</span>: <span class="hljs-title">CaseIterable</span> </span>{
 <span class="hljs-keyword">case</span> heart
 <span class="hljs-keyword">case</span> club
 <span class="hljs-keyword">case</span> diamond
 <span class="hljs-keyword">case</span> spade
}
<span class="hljs-built_in">print</span>(<span class="hljs-type">Suit</span>.allCases)
<span class="hljs-comment">// prints [Suit.heart, Suit.club, Suit.diamond, Suit.spade]</span>

etc…

Swift Compiler

The Swift compiler defaults to a new compilation strategy that can greatly speed up debug
builds. This strategy allows each compilation job to process a batch of files instead of just a single file.

Download Xcode 10 Beta IDE

 

 Referenced by Xcode beta release notes.

Related Post

Use of CollectionViewDataSource method moveItemAt ... Use of CollectionViewDataSource method moveItemAt for Reordering CollectionView cell In IOS (Swift 4) In this tutorial we are study about how we can ...
Introduction To C A Brief History Of C   C was invented and first implemented by Dennis Ritchie on a DEC PDP-11 that used the Unix operating system. C is the r...
Strings String can be represented as a single-dimensional character type array. Strings in C are group of characters, digits, and symbols enclosed in quotatio...
Navigation Tab Bar in IOS | Swift tutorial Navigation Tab Bar in IOS | Swift tutorial Different Customizing techniques for Navigation bar with storyboard and code 1) Custom NavigationTabBar b...
Dart Libraries | Dart Tutorial Dart Libraries Dart has the following libraries, which are included in all Dart platforms: dart:core This library is automatically imported into ev...
How to use Flutter most usable Widgets | Flutter t... We need some basic widgets for creating our first flutter app. Widgets describe what their view should look like given their current configuration and...

Leave a Reply

Your email address will not be published. Required fields are marked *

Get more stuff like this
in your inbox

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.