Swift5.10
リリースノート
再確認して直します
Xcode15.3RC リリースノート
https://developer.apple.com/documentation/xcode-release-notes/xcode-15_3-release-notes~
ビルドシステム
スキームは、Swift パッケージを含む、ワークスペース内のすべてのターゲットに対して構築されるアーキテクチャのセットを制御する、新しい「アーキテクチャの上書き」ビルド オプションを提供します。推奨されるオプション (および新しいスキームのデフォルト) は、「実行先の一致」です。詳細については、Xcode のスキーム ビルド オプション シートの「アーキテクチャをオーバーライド」設定の横にある情報アイコンをクリックすると表示されます。
理解できていないので要調査
プレビューのスクショを出力できるようになった
[エディター] > [キャンバス] > [プレビュー スクリーンショットのエクスポート]
global変数 static変数
グローバル変数にwarningが出るようになります
var mutableGlobal = 1
final class NonsendableType {
init() {}
}
struct S {
static let immutableNonsendable = NonsendableType()
}
回避方法
nonisolated(unsafe) var global: String
final class NonsendableType: Sendable {
init() {}
}
struct S {
// letかつSendableに準拠していること
static let immutableNonsendable = NonsendableType()
}
デフォルトで同じActorの関数を呼び出せる
@MainActor
func requiresMainActor() -> Int { ... }
// クラスの初期値として使える
class C {
@MainActor
var x: Int = requiresMainActor()
}
// 関数のデフォルト引数として使える
@MainActor func defaultArg(value: Int = requiresMainActor()) { ... }
Thread Performance Checker
スレッド パフォーマンス チェッカーは、「既知のハング」と呼ばれるランタイムの問題の新しいカテゴリを生成します。これは、コード内のハングがアプリのユーザーに影響を与えることがわかっている場所を開発者に示します。
要調査