Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Item build mengontrol bagaimana proyek aplikasi atau pustaka .NET untuk iOS, Mac Catalyst, macOS, dan tvOS dibangun.
EkstensiAplikasiTambahan
Grup item yang berisi ekstensi aplikasi tambahan untuk disalin ke dalam app bundle.
Metadata berikut dapat diatur:
- Sertakan: Jalur ke direktori build untuk proyek ekstensi aplikasi Xcode.
- Nama: Nama ekstensi.
- BuildOutput: Nilai ini ditambahkan ke nilai
Includeuntuk menghasilkan lokasi bundel appex. Biasanya Xcode akan menempatkan hasil build untuk simulator dan perangkat di lokasi yang berbeda, sehingga ini bisa digunakan untuk memiliki satu entriAdditionalAppExtensionsyang menunjuk ke dua bundel appex yang berbeda, tergantung pada apakah Anda sedang membangun untuk simulator atau perangkat. - CodesignEntitlements: Menentukan entitelmen yang akan digunakan saat penandatanganan ekstensi aplikasi. Nilai defaultnya adalah '%(Name).entitlements' di direktori build 'Include' (jika file ini ada).
- CodesignWarnIfNoEntitlements: Peringatan akan dihasilkan jika
CodesignEntitlementsnilai tidak ditetapkan. Properti ini dapat diatur kefalseuntuk membungkam peringatan ini.
Contoh:
<ItemGroup>
<AdditionalAppExtensions Include="path/to/my.appex">
<Name>MyAppExtensionName</Name>
<BuildOutput Condition="'$(SdkIsSimulator)' == 'false'">DerivedData/MyAppExtensionName/Build/Products/Debug-iphoneos</BuildOutput>
<BuildOutput Condition="'$(SdkIsSimulator)' == 'true'">DerivedData/MyAppExtensionName/Build/Products/Debug-iphonesimulator</BuildOutput>
<CodesignEntitlements>path/to/Entitlements-appextension.plist</CodesignEntitlements>
<CodesignWarnIfNoEntitlements>false</CodesignWarnIfNoEntitlements>
</AdditionalAppExtensions>
</ItemGroup>
Contoh solusi dapat ditemukan di sini: TestApplication.
IkonAplikasiAlternatif
Grup item AlternateAppIcon dapat digunakan untuk menentukan ikon aplikasi alternatif.
Metadata Include harus menunjuk ke nama file .appiconset (untuk sumber daya gambar iOS, macOS, dan Mac Catalyst) atau .imagestack (untuk tvOS) di dalam katalog aset.
Contoh:
<ItemGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAlternateAppIcon.appiconset" resource would be "MyAlternateAppIcon" -->
<AlternateAppIcon Include="MyAlternateAppIcon" />
</ItemGroup>
Lihat juga:
- Properti AppIcon.
- Properti IncludeAllAppIcons.
AtlasTexture
Grup item yang berisi tekstur atlas.
BGenReferencePath
Daftar referensi perakitan untuk diteruskan ke alat bgen (generator pengikatan).
Biasanya ini ditangani secara otomatis dengan menambahkan referensi sebagai item ProjectReference atau PackageReference sebagai gantinya.
BundleResource
File yang akan disalin ke bundel aplikasi.
Lihat juga:
CodesignBundle
Paket-paket tambahan di dalam aplikasi akhir yang harus ditandatangani.
Tujuannya adalah untuk menyertakan dalam penandatanganan aplikasi bundel lain yang disalin secara manual (misalnya melalui target MSBuild kustom selama proses pembangunan) ke app bundle.
Jalur yang akan disertakan adalah jalur ke bundel aplikasi untuk ditandatangani di dalam bundel aplikasi utama, termasuk nama bundel aplikasi itu sendiri.
Contoh:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app" />
</ItemGroup>
Ada beberapa bagian metadata yang dapat diatur pada item CodesignBundle untuk mengarahkan bagaimana penandatanganan terjadi:
- CodesignAllocate
- CodesignEntitlements
- CodesignExtraArgs
- CodesignKeychain
- CodesignResourceRules
- CodesignSigningKey
- CodesignMenggunakanRuntimeYangDiperkuat
- CodesignUseSecureTimestamp
Contoh:
<ItemGroup>
<CodesignBundle Include="$(AssemblyName).app/Contents/SharedSupport/MyCustomBundle.app">
<CodesignEntitlements>path/to/Entitlements.plist</CodesignEntitlements>
</CodesignBundle>
</ItemGroup>
Metadata apa pun yang tidak ditetapkan akan menggunakan properti yang sesuai sebagai gantinya (misalnya jika metadata CodesignSigningKey tidak ditetapkan, nilai properti CodesignSigningKey akan digunakan sebagai gantinya.)
Collada
Kelompok item yang berisi aset COLLADA.
Konten
Sumber daya (file) yang akan disalin ke bundel aplikasi.
Mereka akan ditempatkan di direktori berikut di dalam app bundle:
- /Resources: iOS dan tvOS
- /Contents/Resources: macOS dan Mac Catalyst
Anda dapat mengatur metadata Link ke jalur yang relatif terhadap direktori target untuk mengubah lokasi di app bundle.
Contoh:
<ItemGroup>
<Content Include="Readme.txt" Link="Documentation/Readme.txt" />
</ItemGroup>
akan menempatkan file di lokasi berikut:
- /Resources/Documentation/Readme.txt: iOS, tvOS
- /Contents/Resources/Documentation/Readme.txt: macOS, Mac Catalyst
Lihat juga:
CoreMLModel
Grup item yang berisi model CoreML.
Pemberian Izin Kustom
Grup item yang berisi pemberian izin kustom untuk ditambahkan ke aplikasi.
Penetapan ini diproses terakhir, dan akan mengambil alih pemberian izin lainnya, baik dari file yang ditentukan dengan properti CodesignEntitlements, atau dari profil provisi yang digunakan (jika ada).
Ini adalah formatnya:
<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
Grup item yang berisi karya seni iTunes untuk IPAs.
Hanya berlaku untuk proyek iOS dan tvOS.
iTunesMetadata
Hanya berlaku untuk proyek iOS dan tvOS.
ImageAsset
Grup item yang berisi aset gambar.
InterfaceDefinition
Grup item yang berisi definisi antarmuka (file*.xib atau *.storyboard).
DeskripsiTautan
File xml tambahan untuk diteruskan ke pemangkas.
Ini sama dengan mengatur TrimmerRootDescriptor.
LinkerArgument
Argumen tambahan untuk diteruskan ke linker asli (ld) saat mengkompilasi eksekusi utama aplikasi atau ekstensi aplikasi.
Contoh 1 (untuk menautkan AudioToolbox dengan kerangka kerja):
<ItemGroup>
<LinkerArgument Include="-framework" />
<LinkerArgument Include="AudioToolbox" />
</ItemGroup>
Contoh 2 (untuk menautkan dengan pustaka statis kustom):
<ItemGroup>
<LinkerArgument Include="$(MSBuildProjectDirectory)/libCustom.a" />
</ItemGroup>
Setiap argumen untuk linker adalah LinkerArgument, terpisah dan tidak boleh dikutip.
Semua argumen akan diteruskan ke linker asli dalam urutan ditambahkan ke LinkerArgument grup item, tetapi lokasi yang tepat dalam semua argumen yang diteruskan ke linker asli tidak ditentukan.
Executable asli akan dibangun kembali secara otomatis jika kumpulan LinkerArgument itu berubah di antara build, tetapi jika LinkerArgument menunjuk ke file (seperti pustaka statis) dan file tersebut berubah, perubahan ini tidak akan terdeteksi dan executable asli tidak akan dibangun kembali secara otomatis.
Logam
Grup item yang berisi aset logam.
MlaunchAdditionalArguments
Sebuah grup item yang berisi argumen tambahan untuk alat mlaunch, yang digunakan untuk meluncurkan aplikasi di perangkat dan dalam simulator. Alat mlaunch ini dianggap sebagai alat internal, dan perilaku dapat berubah kapan saja.
Nota
Ini hanya berlaku saat meluncurkan aplikasi dari baris perintah (dotnet run atau dotnet build -t:Run), bukan saat meluncurkan dari IDE.
MlaunchEnvironmentVariables
Grup item yang berisi variabel lingkungan yang akan diatur saat aplikasi diluncurkan, baik di perangkat atau di simulator.
Nota
Ini hanya berlaku saat meluncurkan aplikasi dari baris perintah (dotnet run atau dotnet build -t:Run), bukan saat meluncurkan dari IDE.
NativeReference
Grup item yang berisi referensi lokal yang harus ditautkan ke dalam atau dengan saat membangun executable lokal.
ObjcBindingApiDefinition
Grup item yang mencantumkan semua definisi API untuk proyek pengikatan.
ObjcBindingCoreSource
Grup item yang mencantumkan semua kode sumber inti untuk proyek pengikatan.
Kerangka Kerja Asli ObjCBinding
Grup item yang mencantumkan semua framework asli yang harus disertakan dalam proyek pengikatan.
Grup item ini tidak digunakan lagi, gunakan NativeReference sebagai gantinya.
ObjcBindingNativeLibrary (Perpustakaan Asli ObjcBinding)
Grup item yang mencantumkan semua pustaka asli yang harus disertakan dalam proyek pengikatan.
Grup item ini tidak digunakan lagi, gunakan NativeReference sebagai gantinya.
Manifest Aplikasi Parsial
PartialAppManifest dapat digunakan untuk menambahkan manifes aplikasi parsial tambahan yang akan digabungkan dengan manifes aplikasi utama (Info.plist).
Nilai apa pun dalam manifes aplikasi parsial akan mengambil alih nilai dalam manifes aplikasi utama kecuali metadata Overwrite diatur ke false.
Jika nilai yang sama ditentukan dalam beberapa manifes aplikasi parsial, nilai tersebut tidak ditentukan yang akan digunakan.
<ItemGroup>
<PartialAppManifest Include="my-partial-manifest.plist" Overwrite="false" />
</ItemGroup>
Jika pengembang perlu menjalankan target untuk menghitung apa yang harus ditambahkan ke grup item PartialAppManifest, dimungkinkan untuk memastikan target ini dijalankan sebelum item PartialAppManifest diproses dengan menambahkannya ke properti CollectAppManifestsDependsOn:
<PropertyGroup>
<CollectAppManifestsDependsOn>
AddPartialAppManifests;
$(CollectAppManifestsDependsOn);
</CollectAppManifestsDependsOn>
</PropertyGroup>
<Target Name="AddPartialAppManifests">
<ItemGroup>
<PartialAppManifest Include="MyPartialAppManifest.plist" />
</ItemGroup>
</Target>
SkipCodesignItems
Grup item yang menentukan file atau direktori dalam app bundle yang tidak boleh ditandatangani.
Tujuannya adalah untuk mengecualikan penandatanganan pada file dan direktori yang disalin secara manual (misalnya melalui target MSBuild kustom dalam file proyek) ke dalam bundel aplikasi, yang mana sudah ditandatangani.
Jalur yang akan disertakan adalah jalur ke file atau direktori yang relatif terhadap akar bundel aplikasi.
Contoh:
<ItemGroup>
<SkipCodesignItems Include="Contents/SharedSupport/mysignedlibrary.dylib" />
</ItemGroup>
Berlaku untuk semua platform.
XcodeProject
<XcodeProject> dapat digunakan untuk membangun dan menggunakan output proyek kerangka kerja Xcode yang dibuat di Xcode atau di tempat lain.
Metadata Include harus menunjuk ke jalur file XCODEPROJ yang akan dibangun.
<ItemGroup>
<XcodeProject Include="path/to/MyProject.xcodeproj" SchemeName="MyLibrary" />
</ItemGroup>
Metadata MSBuild berikut didukung:
%(SchemeName): Nama skema build atau target yang harus digunakan untuk membangun proyek.%(Configuration): Nama konfigurasi yang digunakan untuk membangun proyek. Nilai defaultnya adalahRelease.%(CreateNativeReference): File XCFRAMEWORK output akan ditambahkan sebagai@(NativeReference)ke proyek. Metadata yang didukung oleh@(NativeReference)seperti%(Kind),%(Frameworks), atau%(SmartLink)akan diteruskan jika diatur. Nilai defaultnya adalahtrue.%(OutputPath): Dapat diatur untuk mengambil alih jalur output XCARCHIVE dan XCFRAMEWORK dari proyek Xcode. Nilai defaultnya adalah$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}.
Tindakan build ini diperkenalkan di .NET 9.