0Pricing
Swift Academy · درس

تغليف الملفات الثنائية باستخدام SPM

هيّئ حزمة تنفيذية، واضبط product ، وأضف التبعيات، وأنشئ ملفًا ثنائيًا بصيغة release من .build/release جاهزًا للمشاركة.

تغليف الملفات الثنائية باستخدام SPM درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 3 دروس في المجموع.

لماذا الملفات التنفيذية في SwiftPM؟

يمكن لـ SwiftPM بناء ملفات تنفيذية يمكنك شحنها.

  • تهيئة حزمة تنفيذية
  • تعريف products وtargets
  • إضافة تبعيات (إصدارات دلالية)
  • بناء إصدار release والعثور على الملف الثنائي

أساسيات التهيئة والبناء

استخدم swift package init --type executable لإنشاء الهيكل الأولي. ثم استخدم swift build وswift run للترجمة والتنفيذ.

// In your terminal (for reference):
//   swift package init --type executable
// Files created: Package.swift, Sources/<Target>/main.swift, Tests/
// You can then run:
//   swift build
//   swift run

print("SPM exec template ready")

بنية main.swift

تبدأ الأهداف التنفيذية من Sources/<Target>/main.swift. واجعل مخرجات سطر الأوامر قصيرة وواضحة.

// Sources/App/main.swift (example content)
let args = CommandLine.arguments.dropFirst()
if args.contains("--help") {
    print("app 1.0.0\\nUsage: app [--help] [name]")
} else if let name = args.first {
    print("Hello, \\(name)!")
} else {
    print("Hello from app 1.0.0")
}

أساسيات Package.swift

أساسيات Package.swift:

  • products: .executable(name:targets:)
  • targets: مجلدات المصدر والتبعيات
  • dependencies: الحزم الخارجية (استخدم إصدارات دلالية مثل from: "1.2.0")

مثال على المنتج والتبعيات

صرّح عن منتج .executable واربط تبعيات الهدف. وثّق إصدارات الحزم الخارجية باستخدام إصدارات دلالية لتحقيق الاستقرار.

// Package.swift (illustrative)
// import PackageDescription
// let package = Package(
//   name: "App",
//   platforms: [.macOS(.v12)],
//   products: [
//     .executable(name: "app", targets: ["App"]),
//   ],
//   dependencies: [
//     // Example: argument parser (replace with real URL in your project)
//     // .package(url: "https://github.com/apple/swift-argument-parser", from: "1.2.0")
//   ],
//   targets: [
//     .executableTarget(
//       name: "App",
//       dependencies: [
//         // .product(name: "ArgumentParser", package: "swift-argument-parser")
//       ]
//     )
//   ]
// )

بناء الإصدار والملف الناتج

وزّع الملف الموجود في .build/release/<product>. وفكّر في إزالة الرموز وضغط الملف بصيغة zip للتوزيع.

// Produce an optimized binary:
//   swift build -c release
// Artifact path:
//   .build/release/app   (product name)
//
// Optional strip symbols (platform-specific tool) or zip:
//   # macOS example (illustrative)
//   # strip .build/release/app
//   # zip app-macos.zip .build/release/app

print("Release binary lives in .build/release/")

موقع ملف الإصدار الناتج

تحقق سريع: أين يوجد الملف الثنائي للإصدار؟

مراجعة

مراجعة: هيّئ حزمة executable، وعرّف المنتج في Package.swift، وأضف التبعيات باستخدام إصدارات دلالية، ووزّع الملف الثنائي من .build/release.

الأسئلة الشائعة

هل درس «تغليف الملفات الثنائية باستخدام SPM» مجاني؟

نعم — نص درس «تغليف الملفات الثنائية باستخدام SPM» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 3 دروس في المجموع.

ماذا ستتعلم في «تغليف الملفات الثنائية باستخدام SPM»؟

هيّئ حزمة تنفيذية، واضبط product ، وأضف التبعيات، وأنشئ ملفًا ثنائيًا بصيغة release من .build/release جاهزًا للمشاركة. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.

كم من الوقت يستغرق درس «تغليف الملفات الثنائية باستخدام SPM»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟

نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر
  2. لمحة عن التكامل بين C وObj-C (من دون تفاصيل iOS)
  3. تغليف الملفات الثنائية باستخدام SPM
← العودة إلى Swift Academy