التنسيق والمنتجات والبناء/الاختبار/التشغيل
تعلّم تنسيق SwiftPM، بما في ذلك Sources/ وTests/، والمنتجات مثل الملفات التنفيذية والمكتبات، وكيفية البناء والاختبار والتشغيل باستخدام CLI.
التنسيق والمنتجات والبناء/الاختبار/التشغيل درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 3 دروس في المجموع.
نظرة عامة
يوضح هذا الدرس بنية SwiftPM، وكيف تقابل المنتجات الأهداف، وواجهة CLI لأوامر build/test/run.
بنية المجلدات
يتوقع SwiftPM وجود Sources/ وTests/. ولكل هدف مجلده الخاص.
let tree = """
MyPkg/
├─ Package.swift
├─ Sources/
│ ├─ MyLib/ // library target sources
│ │ └─ MyLib.swift
│ └─ MyApp/ // executable target sources (main.swift)
│ └─ main.swift
└─ Tests/
├─ MyLibTests/
│ └─ MyLibTests.swift
└─ MyAppTests/
└─ MyAppTests.swift
"""
print(tree)المنتجات والأهداف
تُتيح المنتجات الأهداف: فالمكتبات لإعادة الاستخدام، والملفات التنفيذية للتطبيقات وواجهات CLI. وتوجد الاختبارات ضمن testTarget.
let manifest = """
// Package.swift (illustrative)
import PackageDescription
let package = Package(
name: "MyPkg",
products: [
.library(name: "MyLib", targets: ["MyLib"]),
.executable(name: "MyApp", targets: ["MyApp"])
],
targets: [
.target(name: "MyLib"),
.executableTarget(name: "MyApp", dependencies: ["MyLib"]),
.testTarget(name: "MyLibTests", dependencies: ["MyLib"])
]
)
"""
print(manifest)المكتبة مقابل الملف التنفيذي
تُتيح المكتبة واجهات برمجية، بينما يحتوي الملف التنفيذي على نقطة دخول main.swift، ويمكنه الاعتماد على المكتبة.
// Library code (Sources/MyLib/MyLib.swift)
public struct Greeter {
public init() {}
public func hello(_ name: String) -> String { "Hello, \\(name)" }
}
// Executable entry (Sources/MyApp/main.swift)
let g = Greeter()
print(g.hello("World"))أساسيات CLI
استخدم CLI: swift build وswift run <Exe> وswift test. أضف -c release لإنشاء إصدارات محسّنة.
let cmds = """
# Build (debug by default)
swift build
# Run an executable product
swift run MyApp
# Execute tests (XCTest)
swift test
# Release build (optimized)
swift build -c release
"""
print(cmds)الملفات الناتجة ونصائح
توجد المخرجات في .build/. اجعل الأهداف مركّزة، وضع الاختبارات ضمن Tests/<Target>Tests.
let notes = """
Artifacts live under .build/:
• debug/ and release/ contain compiled products
• x86_64-apple-macosx / arm64-apple-* vary by platform/arch
Tips:
• Keep one target per responsibility
• Name products simply; match target folders
• Put tests in Tests/<TargetName>Tests
"""
print(notes)تشغيل الاختبارات
تحقق سريع: ما الأمر الذي يشغّل الاختبارات؟
مراجعة
مراجعة: استخدم البنية القياسية Sources/ وTests/، واربط الأهداف بـالمنتجات، واعمل باستخدام swift build وswift run وswift test.
الأسئلة الشائعة
هل درس «التنسيق والمنتجات والبناء/الاختبار/التشغيل» مجاني؟
نعم — نص درس «التنسيق والمنتجات والبناء/الاختبار/التشغيل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 3 دروس في المجموع.
ماذا ستتعلم في «التنسيق والمنتجات والبناء/الاختبار/التشغيل»؟
تعلّم تنسيق SwiftPM، بما في ذلك Sources/ وTests/، والمنتجات مثل الملفات التنفيذية والمكتبات، وكيفية البناء والاختبار والتشغيل باستخدام CLI. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «التنسيق والمنتجات والبناء/الاختبار/التشغيل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات Swift Package Manager
- التنسيق والمنتجات والبناء/الاختبار/التشغيل
- استيراد الوحدات وأساسيات الإصدار الدلالي