Skip to content

Commit 54d4b5d

Browse files
authored
Merge pull request #64 from S-Shimotori/translate/Swift6Mode/packages
Swift6Modeの翻訳 (202410/9/28時点まで)
2 parents 8b6e189 + c0dfee5 commit 54d4b5d

File tree

1 file changed

+69
-5
lines changed

1 file changed

+69
-5
lines changed

Guide.docc/Swift6Mode.md

Lines changed: 69 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Swift 6言語モードを有効化して、コードにデータ競合が発生
44

55
|原文|[https://github.com/apple/swift-migration-guide/blob/main/Guide.docc/Swift6Mode.md](https://github.com/apple/swift-migration-guide/blob/main/Guide.docc/Swift6Mode.md)|
66
|---|---|
7-
|更新日|2024/8/3(翻訳を最後に更新した日付)|
8-
|ここまで反映|[https://github.com/apple/swift-migration-guide/commit/19d63f2d91811b11f5cc832f72d4374ae4b83f1f](https://github.com/apple/swift-migration-guide/commit/19d63f2d91811b11f5cc832f72d4374ae4b83f1f)|
7+
|更新日|2024/10/7(翻訳を最後に更新した日付)|
8+
|ここまで反映|[https://github.com/apple/swift-migration-guide/commit/7ceaf9183065ce7dbe9a5ade1dc36b4df48796e0](https://github.com/apple/swift-migration-guide/commit/7ceaf9183065ce7dbe9a5ade1dc36b4df48796e0)|
99

1010
## Swiftコンパイラを利用する
1111

@@ -29,8 +29,8 @@ Swiftパッケージマネージャー(SPM)のコマンドライン呼び出
2929
### パッケージマニフェスト
3030

3131
`swift-tools-version: 6.0`を使用する`Package.swift`ファイルは、すべてのターゲットに対してSwift 6言語モードを有効にします。
32-
引き続き`Package``swiftLanguageVersions`プロパティを使用して、パッケージ全体の言語モードを設定できます。
33-
さらに、新しい`swiftLanguageVersion`ビルド設定を使用して、必要に応じてターゲットごとに言語モードを変更できるようにもなりました。
32+
引き続き`Package``swiftLanguageModes`プロパティを使用して、パッケージ全体の言語モードを設定できます。
33+
さらに、新しい`swiftLanguageMode`ビルド設定を使用して、必要に応じてターゲットごとに言語モードを変更できるようにもなりました。
3434

3535
```swift
3636
// swift-tools-version: 6.0
@@ -41,7 +41,7 @@ let package = Package(
4141
// ...
4242
],
4343
targets: [
44-
// デフォルトのツール言語モードを利用する
44+
// デフォルトのツール言語モード(6)を利用する
4545
.target(
4646
name: "FullyMigrated",
4747
),
@@ -56,6 +56,70 @@ let package = Package(
5656
)
5757
```
5858

59+
パッケージが以前のバージョンのSwiftツールチェーンをサポートし続けなければならず、ターゲットごとに`swiftLanguageMode`を設定したい場合は、6以前のツールチェーンのためのバージョン固有のマニフェストを作成する必要があります。例えば、5.9以降のツールチェーンをサポートし続けたい場合、`Package@swift-5.9.swift`を用意します:
60+
```swift
61+
// swift-tools-version: 5.9
62+
63+
let package = Package(
64+
name: "MyPackage",
65+
products: [
66+
// ...
67+
],
68+
targets: [
69+
.target(
70+
name: "FullyMigrated",
71+
),
72+
.target(
73+
name: "NotQuiteReadyYet",
74+
)
75+
]
76+
)
77+
```
78+
79+
そしてSwiftツールチェーン6.0以上のためのもう1つの`Package.swift`を用意します:
80+
```swift
81+
// swift-tools-version: 6.0
82+
83+
let package = Package(
84+
name: "MyPackage",
85+
products: [
86+
// ...
87+
],
88+
targets: [
89+
// デフォルトのツール言語モード(6)を利用する
90+
.target(
91+
name: "FullyMigrated",
92+
),
93+
// まだSwift 5言語モードが必要
94+
.target(
95+
name: "NotQuiteReadyYet",
96+
swiftSettings: [
97+
.swiftLanguageMode(.v5)
98+
]
99+
)
100+
]
101+
)
102+
```
103+
104+
一方、Swift 6言語モードを利用したいだけで、それが(より古いモードのサポートを維持しつつ)利用可能なら、単一の`Package.swift`のまま互換性のある方法でバージョンを指定できます:
105+
```swift
106+
// swift-tools-version: 5.9
107+
108+
let package = Package(
109+
name: "MyPackage",
110+
products: [
111+
// ...
112+
],
113+
targets: [
114+
.target(
115+
name: "FullyMigrated",
116+
),
117+
],
118+
// 6.0以前のswift-tools-versionをサポートするための`swiftLanguageVersions`と`.version("6")`
119+
swiftLanguageVersions: [.version("6"), .v5]
120+
)
121+
```
122+
59123
## Xcodeを利用する
60124

61125
### ビルド設定

0 commit comments

Comments
 (0)