# Swift Package Manager (iOS) > Swift Package Manager, Package.swift, dependensi, versioning, paket lokal - 16 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: iOS](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara.md) ## 1. Apa file manifest utama yang diperlukan untuk mendefinisikan Swift Package? **Jawaban** File Package.swift adalah manifest wajib untuk setiap Swift Package. File ini berisi metadata package, dependensi, target, dan produk. Tanpa file ini di root package, Xcode tidak dapat mengenali struktur tersebut sebagai package yang valid. ## 2. Bagaimana cara mendefinisikan target yang dapat dieksekusi di SPM? **Jawaban** Target yang dapat dieksekusi menghasilkan aplikasi atau alat command-line. Target ini berbeda dari target library karena menghasilkan binary yang dapat dieksekusi secara mandiri. Target yang dapat dieksekusi memerlukan entry point yang valid (file main.swift atau @main) agar dapat dikompilasi dengan benar. SPM menggunakan .executableTarget() di Package.swift untuk mendefinisikan tipe target ini. ## 3. Apa perbedaan antara target dan produk di SPM? **Jawaban** Target adalah unit kompilasi yang berisi kode sumber, sedangkan produk adalah artefak yang dapat dikonsumsi yang dihasilkan dari satu atau lebih target. Produk mengekspos target ke dunia luar dan mendefinisikan cara distribusinya. Misalnya, target yang sama dapat diekspos sebagai library statis atau dinamis tergantung pada produknya. Pemisahan ini memberikan fleksibilitas dalam distribusi kode sekaligus memusatkan logika kompilasi. ## 13 pertanyaan lagi tersedia - Bagaimana cara mendeklarasikan dependensi remote di SPM? - Apa peran dependensi lokal di SPM? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara iOS lainnya - [Dasar-Dasar Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-basics.md): 25 pertanyaan, Junior - [Dasar-Dasar Bahasa Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-language-essentials.md): 15 pertanyaan, Junior - [Dasar-Dasar UIKit](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uikit-fundamentals.md): 18 pertanyaan, Junior - [Siklus Hidup UIViewController](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uiviewcontroller-lifecycle.md): 20 pertanyaan, Junior - [UserDefaults & Keychain](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/userdefaults-keychain.md): 20 pertanyaan, Junior - [Siklus Hidup Aplikasi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/app-lifecycle.md): 20 pertanyaan, Junior - [Auto Layout & Constraints](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/auto-layout-constraints.md): 24 pertanyaan, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uitableview-uicollectionview.md): 25 pertanyaan, Mid-Level - [Dasar-Dasar SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-basics.md): 18 pertanyaan, Mid-Level - [Manajemen State SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-state-management.md): 22 pertanyaan, Mid-Level - [Navigasi SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-navigation.md): 18 pertanyaan, Mid-Level - [Networking & URLSession](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/networking-urlsession.md): 20 pertanyaan, Mid-Level - [Codable & Parsing JSON](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/codable-json-parsing.md): 20 pertanyaan, Mid-Level - [Core Data](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/core-data.md): 22 pertanyaan, Mid-Level - [Pemrograman Berorientasi Protokol](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/protocol-oriented-programming.md): 20 pertanyaan, Mid-Level - [Arsitektur MVVM](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/mvvm-architecture.md): 20 pertanyaan, Mid-Level - [Notifikasi Push](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/push-notifications.md): 18 pertanyaan, Mid-Level - [Unit Testing & XCTest](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/unit-testing-xctest.md): 20 pertanyaan, Mid-Level - [Pengujian UI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ui-testing.md): 18 pertanyaan, Mid-Level - [Xcode & Sistem Build](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/xcode-build-system.md): 16 pertanyaan, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/memory-management-arc.md): 22 pertanyaan, Senior - [Combine Framework](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/combine-framework.md): 24 pertanyaan, Senior - [Concurrency & async/await](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/concurrency-async-await.md): 26 pertanyaan, Senior - [iOS Design Patterns](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-design-patterns.md): 24 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan dan Enkripsi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/security-encryption.md): 20 pertanyaan, Senior - [SwiftUI Advanced](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-advanced.md): 22 pertanyaan, Senior - [Arsitektur Aplikasi iOS](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-app-architecture.md): 22 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-package-manager