2024/9/23
laprasdrum.icon 3連休最終日
/icons/hr.icon
Xcode 16.1 Beta 2 update
Swift 6モードのOn/Offができるようになった
New build settings have been added to facilitate adoption of Swift 6. The SWIFT_VERSION build setting now allows building with the Swift 6 language mode. Projects can incrementally migrate to Swift 6 by opting into features individually using the new build settings under Swift Compiler - Upcoming Features. (114638076)
各Targetの Target-InfoPlist.stringsがビルド時InfoPlist.stringsにrenameされる
Fixed: Xcode now renames files such as TargetName-InfoPlist.strings to InfoPlist.strings at build time, even when the Info.plist file is fully generated by the build system. (108824512)
DWARF 5が標準になった
Command-line Tools
New Features
Symbolication command line tools such as atos and symbols now support binaries and dSYMs with DWARFv5 debug info format. (28041592)
Debugging
New Features
When targeting macOS 15, iOS 18, … or later, the default debug info format is DWARF 5. (110925733)
Buildable folder
Minimize project file changes, and avoid version control conflicts with buildable folder references.
Convert an existing group to a buildable folder with the “Convert to Folder” context menu item in the Project Navigator. Buildable folders only record the folder path into the project file without enumerating the contained files. This minimizes diffs to the project when files are added and removed, and avoids source control conflicts with your team.
To use a folder as an opaque copiable resource, the default behavior before Xcode 16, uncheck the “Build Folder Contents” option in the File Inspector. (123729918)
Groupだと複数のフォルダ内ファイルをまとめられるが、ビルドリソースとして全ファイルを追加しないといけなかった
Xcode 16からフォルダ参照が可能になった
ファイルの追加・削除を自動でトラッキングしてくれる
リソースの名前によるコンフリクトを避けやすくなる
Xcode 15以下と互換性がないので、導入するならXcode 16に完全移行してから
Xcode 16 のアップデート - フォルダー参照がコードコンパイルをサポートするようになりました
Xcode 16 の新機能として、フォルダー参照に「フォルダーの内容をビルド」オプションが追加されました。チェックすると、そのフォルダー参照 (またはそのサブフォルダー) 内のすべてのファイルがリソースのコピーから除外され、ソース ファイルは現在のターゲットの「ソースのコンパイル」ビルド フェーズに移動されます。グループの場合と同様に、インスペクターを使用して個々のファイルのターゲットを変更または削除できます。これは、プロジェクト ファイルでそのファイルの例外 (グループへの「包含」ではなく) を記録することによって行われます。
もう 1 つの利点は、グループとは異なり、フォルダー参照は常にその下にある物理フォルダー階層の変更を追跡することです。つまり、そのフォルダーに新しいソース ファイルを追加するだけで、フォルダー参照が属するすべてのターゲット (前述のようにインスペクターで手動で上書きしたものを除く) でコンパイルに自動的に含められます。
さらに、プロジェクト ナビゲータは個々のファイル レベルではなくフォルダ レベルで追跡するため、ディスク上の内容が常に正確に反映され、各フォルダの内容がファイル名のアルファベット順に並べ替えられます。