iOS、Mac Catalyst、macOS、および tvOS 用の項目をビルドする
ビルド項目は、iOS、Mac Catalyst、macOS、および tvOS アプリケーションまたはライブラリ プロジェクト用の .NET のビルド方法を制御します。
追加アプリ拡張機能
アプリ バンドルにコピーする追加のアプリ拡張機能を含む項目グループ。
代替アプリアイコン
AlternateAppIcon
項目グループを使用して、代替アプリ アイコンを指定できます。
Include
メタデータは、資産カタログ内の .appiconset
(iOS、macOS、Mac Catalyst の場合) または .imagestack
(tvOS の場合) イメージ リソースのファイル名を指す必要があります。
例:
<ItemGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAlternateAppIcon.appiconset" resource would be "MyAlternateAppIcon" -->
<AlternateAppIcon Include="MyAlternateAppIcon" />
</ItemGroup>
次も参照してください。
- AppIcon プロパティ。
- IncludeAllAppIcons プロパティです。
AtlasTexture
Atlas テクスチャを含む項目グループ。
BGenReferencePath
bgen
ツール (バインディング ジェネレーター) に渡すアセンブリ参照の一覧。
通常、これは参照を ProjectReference
または PackageReference
項目として追加することによって自動的に処理されます。
BundleResource
アプリ バンドルにコピーするファイル。
次も参照してください。
CodesignBundle
署名する必要がある最終的なアプリ内の追加バンドル。
目的は、カスタム MSBuild ターゲットを用いてビルド中に手動でコピーされる他のバンドルも含めて、アプリバンドルに署名することです。
含めるパスは、アプリ バンドル名自体を含め、メイン アプリ バンドル内で署名するアプリ バンドルへのパスです。
例:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app" />
</ItemGroup>
署名の実行方法を指示するために、CodesignBundle
項目に設定できるメタデータがいくつかあります。
- の CodesignAllocate
- CodesignEntitlements
- CodesignExtraArgs
- CodesignKeychain
- CodesignResourceRules
- CodesignSigningKey
- CodesignUseHardenedRuntime
- Codesign を安全なタイムスタンプで使用する
例:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app">
<CodesignEntitlements>path/to/Entitlements.plist</CodesignEntitlements>
</CodesignBundle>
</ItemGroup>
設定されていないメタデータでは、代わりに対応するプロパティが使用されます (たとえば、CodesignSigningKey
メタデータが設定されていない場合は、CodesignSigningKey
プロパティの値が代わりに使用されます)。
Collada
collada アセットを含む項目グループ。
コンテンツ
アプリ バンドルにコピーするリソース (ファイル)。
これらは、アプリ バンドル内の次のディレクトリに配置されます。
- /Resources: iOS と tvOS
- /Contents/Resources: macOS と Mac Catalyst
Link
メタデータをターゲット ディレクトリからの相対パスに設定して、アプリ バンドル内の場所を変更できます。
例:
<ItemGroup>
<Content Include="Readme.txt" Link="Documentation/Readme.txt" />
</ItemGroup>
は、ファイルを次の場所に配置します。
- /Resources/Documentation/Readme.txt: iOS、tvOS、watchOS
- /Contents/Resources/Documentation/Readme.txt: macOS、Mac Catalyst
次も参照してください。
CoreMLModel
CoreML モデルを含む項目グループ。
カスタム特権設定
アプリに追加するカスタムエンタイトルメントを含むアイテム グループ。
これらのエンタイトルメントは最後に処理され、CodesignEntitlements プロパティで指定されたファイル、または使用中のプロビジョニング プロファイル (存在する場合) から、他のすべての権利をオーバーライドします。
これは次の形式です。
<ItemGroup>
<CustomEntitlements Include="name.of.entitlement" Type="Boolean" Value="true" /> <!-- value can be 'false' too (case doesn't matter) -->
<CustomEntitlements Include="name.of.entitlement" Type="String" Value="stringvalue" />
<CustomEntitlements Include="name.of.entitlement" Type="StringArray" Value="a;b" /> <!-- array of strings, separated by semicolon -->
<CustomEntitlements Include="name.of.entitlement" Type="StringArray" Value="a😁b" ArraySeparator="😁" /> <!-- array of strings, separated by 😁 -->
<CustomEntitlements Include="name.of.entitlement" Type="Remove" /> <!-- This will remove the corresponding entitlement -->
</ItemGroup>
ITunesArtwork
IPA 用の iTunes アートワークを含む項目グループ。
iOS および tvOS プロジェクトにのみ適用されます。
iTunesメタデータ
iOS および tvOS プロジェクトにのみ適用されます。
ImageAsset
イメージ アセットを含む項目グループ。
インターフェース定義
インターフェイス定義 (*.xib または *.storyboard ファイル) を含む項目グループ。
リンクの説明
トリマーに渡す追加の XML ファイル。
これは、TrimmerRootDescriptor
メタル
金属アセットを含むアイテム グループ。
NativeReference
ネイティブ実行可能ファイルをビルドする際にリンクされる、またはリンクに含まれるべきネイティブ参照を含む項目グループ。
ObjcBindingApiDefinition
バインド プロジェクトのすべての API 定義を一覧表示する項目グループ。
ObjcBindingCoreSource
バインド プロジェクトのすべてのコア ソース コードを一覧表示する項目グループ。
ObjC バインディング ネイティブ フレームワーク
バインド プロジェクトに含める必要があるすべてのネイティブ フレームワークを一覧表示する項目グループ。
この項目グループは非推奨です。代わりに NativeReference
ObjcBindingNativeLibrary
バインド プロジェクトに含める必要があるすべてのネイティブ ライブラリを一覧表示する項目グループ。
この項目グループは非推奨です。代わりに NativeReference
パーシャルアプリマニフェスト
PartialAppManifest
を使用して、メイン アプリ マニフェスト (Info.plist) とマージされる部分的なアプリ マニフェストを追加できます。
部分アプリ マニフェスト内の値は、Overwrite
メタデータが false
に設定されていない限り、メイン アプリ マニフェストの値をオーバーライドします。
複数の部分的なアプリ マニフェストで同じ値が指定されている場合、どの値が使用されるかが明らかにされません。
<ItemGroup>
<PartialAppManifest Include="my-partial-manifest.plist" Overwrite="false" />
</ItemGroup>
開発者がターゲットを実行して、PartialAppManifest
項目グループに追加するものを計算する必要がある場合は、CollectAppManifestsDependsOn
プロパティに追加することで、PartialAppManifest
項目が処理される前にこのターゲットが実行されるようにすることができます。
<PropertyGroup>
<CollectAppManifestsDependsOn>
AddPartialAppManifests;
$(CollectAppManifestsDependsOn);
</CollectAppManifestsDependsOn>
</PropertyGroup>
<Target Name="AddPartialAppManifests">
<ItemGroup>
<PartialAppManifest Include="MyPartialAppManifest.plist" />
</ItemGroup>
</Target>
XcodeProject
<XcodeProject>
を使用して、Xcode または elsewehere で作成された Xcode フレームワーク プロジェクトの出力をビルドして使用できます。
Include
メタデータは、ビルドする XCODEPROJ ファイルのパスを指している必要があります。
<ItemGroup>
<XcodeProject Include="path/to/MyProject.xcodeproj" SchemeName="MyLibrary" />
</ItemGroup>
次の MSBuild メタデータがサポートされています。
%(SchemeName)
: プロジェクトのビルドに使用するビルド スキームまたはターゲットの名前。%(Configuration)
: プロジェクトのビルドに使用する構成の名前。 既定値はRelease
です。%(CreateNativeReference)
: 出力 XCFRAMEWORK ファイルがプロジェクトに@(NativeReference)
として追加されます。%(Kind)
、%(Frameworks)
、%(SmartLink)
などの@(NativeReference)
でサポートされるメタデータは、設定されている場合に転送されます。 既定値はtrue
です。%(OutputPath)
: Xcode プロジェクトの XCARCHIVE および XCFRAMEWORK 出力パスをオーバーライドするように設定できます。 既定値は$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}
です。
このビルド アクションは.NET 9 で導入されました。