気になるところだけざっくり
Xcode 11 Beta Release Notes | Apple Developer Documentation
New Features
SwiftUI(書くまでもなく)
Application Loader が Xcode に同梱されなくなった
Asset Catalog
- Asset Catalog でキーボードショートカットでのコピペと複製が可能に
Core Data
- 待ち望んでいた CloudKit 連携
別記事へ
Debugging
- Environment overrides で Xcode での Debug の際にデバッグメニューから Dark Mode, Dynamic Type と Accessibility 関連の設定変更が可能になった
Accessibility Inspector を起動しなくても Xcode 上で素早くアクセスできる様になったのは便利。Environment overrides では目視ベースでの確認に留まりそうで、さらなるデバッグはこれまで通り Accessibility Inspector を別途起動して行う事ができる。
Deprecations
- Quartz Composer framework の廃止
framework が deprecated になる事によって QuartzComposer.framework を利用したアプリの作成が将来的にできなくなる。
開発ツールとしての Quartz Composer.app が廃止になるわけではないのでQCアプリは引き続き Core Image のプロトタイピングツールとして利用可能。
Interface Builder
UITaleViewCell
で Auto Layout を設定した時に、IB上でセルの高さが自動で調整される様になった。- IBで
var translatesAutoresizingMaskIntoConstraints: Bool
を設定可能。 - IBで
UIScrollView
のコンテンツとその Auto Layout を設定した際にスクロールプレビューが可能。 - watchOS への
WKInterfaceTextField
の追加 - SF Symbols の追加
Introducing SF Symbols - WWDC 2019 - Videos - Apple Developer
IBSegueAction
の追加
別記事へ
IB周りはかなり良くなった。
Localization
- Asset Catalog をローカライズ可能に(アイコンファイル以外)
Project Navigator
- 検索と置き換えで Asset Catalog のリネームを可能に
Signing and Distribution
- iOS と macOS どちらにも使える Certificate が使える様に(これまでは iOS と macOS は別々の Certificate が必要だった)
Simulator
- Simulator が Metal に対応。ただし macOS 10.15 で動かした時のみらしい。古いOSの場合はソフトウェアレンダーの OpenGL が使われる。
Metal は Mac の GPU を使って動く。複数の GPU が利用可能な場合は使用する方を選択可能。
Source Editor
- スペルチェック機能の追加
Known Issues
- iOS Simulator で iCloud sync が使えない
- iOS Simulator と Mac とのペーストボードの自動同期が使えない。メニューからマニュアルでペーストボードの操作を行う必要がある。
- Swift 5.1 の新機能 Opaque Result Type
some Protocol
は Swift 5.1, iOS 13 が必要で古いOSでは利用できないが、コンパイラがこれを強制しない(エラーを出してくれない)ため古いアプリ向けでもビルド自体は通り、実際にアプリを実行して該当箇所を呼び出した時にクラッシュする。
シミュレータでの実行時エラーは以下だった
dyld: lazy symbol binding failed: Symbol not found: _swift_getOpaqueTypeMetadata Referenced from: /Users/<UserName>/Library/Developer/CoreSimulator/Devices/<DeviceUUID>/data/Containers/Bundle/Application/<AppUUID>/<BundleName>.app/<ExecutableName> Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift/libswiftCore.dylib
What's New in Swift - WWDC 2019 - Videos - Apple Developer
とりあえず Xcode の変更点からのピックアップはこんなところ。
個人的には Core Data + CloudKit は最高のアップデートで、IBが色々と良くなっているのも嬉しい。
SwiftUI は iOS 13 以降必須になってしまうため、折を見てぼちぼちやっていく予定。