Skip to content

الترجمة 🌍

ساهم في ترجمة هذه الصفحة أو تحسينها.

ساهم

معاينات

عند إنشاء تطبيق ما، قد ترغب في مشاركته مع الآخرين للحصول على تعليقاتهم. تقليديًا، هذا شيء تقوم به الفرق من خلال بناء تطبيقاتها وتوقيعها ودفعها إلى منصات مثل [TestFlight] من Apple [TestFlight] (https://developer.apple.com/testflight/). ومع ذلك، يمكن أن تكون هذه العملية مرهقة وبطيئة، خاصةً عندما تبحث فقط عن تعليقات سريعة من زميل أو صديق.

لجعل هذه العملية أكثر بساطة، يوفر Tuist طريقة لإنشاء معاينات لتطبيقاتك ومشاركتها مع أي شخص.

يجب أن تكون الأجهزة المبنية بحاجة إلى توقيع

عند الإنشاء للجهاز، تقع على عاتقك حاليًا مسؤولية ضمان توقيع التطبيق بشكل صحيح. نخطط لتبسيط هذا الأمر في المستقبل.

bash
tuist build App # Build the app for the simulator
tuist build App -- -destination 'generic/platform=iOS' # Build the app for the device
tuist share App
bash
xcodebuild -scheme App -project App.xcodeproj -configuration Debug # Build the app for the simulator
xcodebuild -scheme App -project App.xcodeproj -configuration Debug -destination 'generic/platform=iOS' # Build the app for the device
tuist share App --configuration Debug --platforms iOS
tuist share App.ipa # Share an existing .ipa file

سينشئ الأمر رابطًا يمكنك مشاركته مع أي شخص لتشغيل التطبيق - إما على جهاز محاكاة أو جهاز فعلي. كل ما عليهم فعله هو تشغيل الأمر أدناه:

bash
tuist run {url}
tuist run --device "My iPhone" {url} # Run the app on a specific device

عند مشاركة ملف .ipa ، يمكنك تنزيل التطبيق مباشرة من الجهاز المحمول باستخدام رابط المعاينة. تكون الروابط إلى .ipa معاينات بشكل افتراضي عام. في المستقبل، سيكون لديك خيار لجعلها خاصة، بحيث يحتاج مستلم الرابط إلى المصادقة باستخدام حساب Tuist الخاص به لتنزيل التطبيق.

يمكّنك tuist run أيضًا من تشغيل أحدث معاينة استنادًا إلى محدد مثل أحدث أو اسم الفرع أو تجزئة التزام معين:

bash
tuist run App@latest # Runs latest App preview associated with the project's default branch
tuist run App@my-feature-branch # Runs latest App preview associated with a given branch
tuist run App@00dde7f56b1b8795a26b8085a781fb3715e834be # Runs latest App preview associated with a given git commit sha

المسارات

تسمح لك المسارات بتنظيم معايناتك في مجموعات مسماة. على سبيل المثال، قد يكون لديك مسار بيتا للمختبرين الداخليين ومسار ليلاً للإصدارات الآلية. يتم إنشاء المسارات بشكل كسول - ما عليك سوى تحديد اسم المسار عند المشاركة، وسيتم إنشاؤه تلقائيًا إذا لم يكن موجودًا.

لمشاركة معاينة على مسار محدد، استخدم الخيار - المسار:

bash
tuist share App --track beta
tuist share App --track nightly

هذا مفيد لـ

  • تنظيم المعاينات: تجميع المعاينات حسب الغرض (على سبيل المثال، بيتا ، ليلي ، داخلي)
  • التحديثات داخل التطبيق: تستخدم مجموعة أدوات تطوير البرمجيات (Tuist SDK) المسارات لتحديد التحديثات التي يجب إخطار المستخدمين بها
  • تصفية: العثور على المعاينات وإدارتها بسهولة حسب المسار في لوحة معلومات Tuist

رؤية المعاينات

يمكن فقط للأشخاص الذين لديهم حق الوصول إلى المؤسسة التي ينتمي إليها المشروع الوصول إلى المعاينات. نخطط لإضافة دعم للروابط المنتهية الصلاحية.

تطبيق تويست macOS

لجعل تشغيل معاينات تويست أسهل، قمنا بتطوير تطبيق شريط قوائم نظام التشغيل Tuist macOS. بدلاً من تشغيل المعاينات عبر Tuist CLI، يمكنك [تنزيل] (https://tuist.dev/download) تطبيق macOS. يمكنك أيضًا تثبيت التطبيق عن طريق تشغيل brew install - cask tuist/tuist/Tuist/Tuist.

عندما تنقر الآن على "تشغيل" في صفحة المعاينة، سيقوم تطبيق macOS بتشغيله تلقائيًا على الجهاز المحدد حاليًا.

متطلبات

يجب أن يكون لديك Xcode مثبتًا محليًا وأن يكون مثبتًا على نظام macOS 14 أو أحدث.

تطبيق تويست iOS

Tuist

Download on the App Store

على غرار تطبيق macOS، تعمل تطبيقات Tuist iOS على تبسيط الوصول إلى المعاينات وتشغيلها.

تعليقات طلب السحب/الدمج

التكامل مع منصة GIT مطلوب

للحصول على تعليقات طلبات السحب/الدمج التلقائية، ادمج مشروعك البعيد مع منصة Git.

يجب أن يكون اختبار الوظائف الجديدة جزءًا من أي مراجعة للكود. لكن الاضطرار إلى إنشاء تطبيق محليًا يضيف احتكاكًا غير ضروري، وغالبًا ما يؤدي إلى تخطي المطورين لاختبار الوظائف على أجهزتهم على الإطلاق. ولكن ماذا لو احتوى كل طلب سحب على رابط للبناء الذي من شأنه تشغيل التطبيق تلقائيًا على الجهاز الذي حددته في تطبيق Tuist macOS؟

بمجرد توصيل مشروع Tuist الخاص بك بمنصة Git الخاصة بك مثل [GitHub] (https://github.com)، أضف tuist share MyApp إلى سير عمل CI الخاص بك. سيقوم Tuist بعد ذلك بنشر رابط معاينة مباشرة في طلبات السحب الخاصة بك: تعليق تطبيق GitHub مع رابط معاينة
Tuist

تنبيهات التحديثات داخل التطبيق

تُمكِّن [Tuist SDK] (https://github.com/tuist/sdk) تطبيقك من اكتشاف وقت توفر إصدار معاينة أحدث وإعلام المستخدمين. هذا مفيد لإبقاء المختبرين على أحدث إصدار.

تتحقق SDK من التحديثات داخل نفس معاينة المسار. عند مشاركة معاينة مع مسار صريح باستخدام - المسار ، ستبحث SDK عن التحديثات على هذا المسار. إذا لم يتم تحديد أي مسار، فسيتم استخدام فرع git كمسار - لذا فإن المعاينة التي تم إنشاؤها من الفرع الرئيسي `` الرئيسي ستُعلم فقط بالمعاينات الأحدث التي تم إنشاؤها أيضًا من الرئيسي.

التثبيت

أضف Tuist SDK كجزء تابع لحزمة سويفت:

swift
.package(url: "https://github.com/tuist/sdk", .upToNextMajor(from: "0.1.0"))

مراقبة للتحديثات

استخدم monitorPreviewUpdates للتحقق بشكل دوري من إصدارات المعاينة الجديدة:

swift
import TuistSDK

struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .task {
                    TuistSDK(
                        fullHandle: "myorg/myapp",
                        apiKey: "your-api-key"
                    )
                    .monitorPreviewUpdates()
                }
        }
    }
}

فحص التحديث الفردي

للتحقق من التحديث اليدوي:

swift
let sdk = TuistSDK(
    fullHandle: "myorg/myapp",
    apiKey: "your-api-key"
)

if let preview = try await sdk.checkForUpdate() {
    print("New version available: \(preview.version ?? "unknown")")
}

إيقاف مراقبة التحديث

يُرجِع موقع MonitorPreviewUpdates مهمة مهمة يمكن إلغاؤها:

swift
let task = sdk.monitorPreviewUpdates { preview in
    // Handle update
}

// Later, to stop monitoring:
task.cancel()

INFO

يتم تعطيل التحقق من التحديث تلقائياً على أجهزة المحاكاة وإصدارات App Store.

شارة README

لجعل معاينات تويست أكثر وضوحًا في مستودعك، يمكنك إضافة شارة إلى ملف README الذي يشير إلى أحدث معاينة تويست:

[! [معاينة تويست] (https://tuist.dev/Dimillian/IcySky/previews/latest/badge.svg)] (https://tuist.dev/Dimillian/IcySky/previews/latest)

لإضافة الشارة إلى README الخاص بك، استخدم العلامات التالية واستبدل مقابض الحساب والمشروع بمقابضك الخاصة:

[![Tuist Preview](https://tuist.dev/{account-handle}/{project-handle}/previews/latest/badge.svg)](https://tuist.dev/{account-handle}/{project-handle}/previews/latest)

إذا كان مشروعك يحتوي على تطبيقات متعددة بمعرّفات حزم مختلفة، يمكنك تحديد معاينة التطبيق المراد الربط به عن طريق إضافة معلمة استعلام معرف الحزمة:

[![Tuist Preview](https://tuist.dev/{account-handle}/{project-handle}/previews/latest/badge.svg)](https://tuist.dev/{account-handle}/{project-handle}/previews/latest?bundle-id=com.example.app)

الأتمتة

يمكنك استخدام العلامة --json للحصول على مخرجات JSON من الأمر tuist share:

tuist share --json

يعد إخراج JSON مفيدًا لإنشاء عمليات أتمتة مخصصة، مثل نشر رسالة Slack باستخدام موفر CI الخاص بك. يحتوي JSON على مفتاح url مع رابط المعاينة الكامل ومفتاح qrCodeURL مع عنوان URL لصورة رمز الاستجابة السريعة لتسهيل تنزيل المعاينات من جهاز حقيقي. فيما يلي مثال على إخراج JSON:

json
{
  "id": 1234567890,
  "url": "https://cloud.tuist.io/preview/1234567890",
  "qrCodeURL": "https://cloud.tuist.io/preview/1234567890/qr-code.svg"
}

Released under the MIT License.