Deliver (Fastlane) — ابزاری برای بارگذاری برنامهها در App Store Connect است: فایلهای باینری، فرادادهها، اسکرینشاتها و قیمتها. برخلاف انتشار دستی از طریق رابط وب App Store Connect، Deliver تمام مراحل انتشار را با یک دستور واحد خودکار میکند. طبق مستندات رسمی Fastlane (2026)، Deliver زمان انتشار را از 40 دقیقه به چند ثانیه کاهش میدهد.
نکات کلیدی
Deliver (Fastlane) — مؤلفهای از اکوسیستم Fastlane است که فرآیند انتشار برنامههای موبایل در App Store را خودکار میکند. این ابزار بارگذاری فایلهای باینری، بهروزرسانی فرادادهها (نام، توضیحات، کلمات کلیدی)، بارگذاری اسکرینشاتها و تنظیم قیمتها را برای همه زبانهای محلیسازی مدیریت میکند.
بدون Deliver، هر انتشار نیاز به بهروزرسانی دستی اطلاعات از طریق رابط وب App Store Connect دارد: پر کردن توضیحات به چندین زبان، بارگذاری اسکرینشاتها برای هر اندازه صفحه، بهروزرسانی کلمات کلیدی و تنظیم قیمتها. انتشار در App Store — مرحله نهایی چرخه عمر برنامه iOS است که شامل بررسی فایل باینری، نظارت بر محتوا و عرضه برنامه به تولید میشود.
طبق App Store Connect Documentation (2025)، برنامههایی با بهروزرسانیهای منظم ۳۰٪ نصب مجدد بیشتر دریافت میکنند و در جستجو رتبه بهتری دارند. Deliver به تیمها امکان میدهد بهروزرسانیهای هفتگی منتشر کنند، مراحل معمول انتشار را خودکار کرده و خطر خطای انسانی در پر کردن فرادادهها در دهها زبان را کاهش دهد.
از Deliver برای هر برنامهای که در App Store منتشر میشود استفاده کنید — به ویژه برای پروژههای با محلیسازی چندزبانه که بهروزرسانی دستی ۳۲ زبان چندین ساعت طول میکشد.
مکانیسم کار Deliver بر فرآیند دو مرحلهای استوار است. در مرحله اول، ابزار فرادادهها را آماده میکند — ساختار Deliverfile را بررسی، اسکرینشاتها را بارگیری و مانیفست تغییرات را تولید میکند. در مرحله دوم، Deliver دادهها را به App Store Connect API ارسال، فایل باینری را بارگذاری و فرآیند تأیید بیلد را در سمت Apple آغاز میکند.
Deliver از App Store Connect API برای همه عملیاتها استفاده میکند که سازگاری با الزامات جدید Apple را تضمین کرده و استفاده از رابطهای خصوصی را حذف میکند. App Store Connect API — API رسمی REST Apple برای خودکارسازی عملیات با برنامهها، شامل بارگذاری بیلدها، مدیریت فرادادهها و پیگیری وضعیت بررسی است.
Deliver مستقیماً از طریق Fastlane با Gym ادغام میشود: پس از بیلد IPA، Deliver آن را به App Store Connect بارگذاری کرده و فرآیند پردازش را آغاز میکند. پارامتر --ipa مسیر فایل باینری را مشخص میکند. اگر پارامتر مشخص نشود، Deliver به طور خودکار آخرین IPA را در دایرکتوری بیلد مشخصشده در Gymfile یا منتقلشده از طریق مراحل قبلی Fastlane پیدا میکند.
پس از بارگذاری، Deliver منتظر اتمام پردازش فایل باینری توسط Apple میماند — مشابه Pilot، وضعیت از طریق نوار پیشرفت پیگیری میشود. وضعیتهای موجود: Processing، Waiting For Review، In Review، Ready For Sale یا Rejected. Deliver تیم را در مورد هر تغییر وضعیت از طریق callbackها در Fastfile مطلع میکند.
Deliver مجموعه کامل فرادادههای برنامه را مدیریت میکند: نام، توضیحات (کوتاه و کامل)، کلمات کلیدی، URL پشتیبانی و بازاریابی، دستهبندی و رتبه سنی. فرادادههای برنامه — اطلاعات متنی درباره برنامه است که در صفحه App Store نمایش داده میشود و برای نمایهسازی جستجو و بهینهسازی ASO استفاده میشود.
پارامتر --submit_for_review برنامه را بلافاصله پس از بارگذاری فرادادهها به نظارت ارسال میکند. این پارامتر کلیدی برای انتشار کاملاً خودکار است. بدون آن، Deliver فقط دادهها را بارگذاری میکند اما برنامه را برای بررسی ارسال نمیکند — این برای بررسی اولیه همه فیلدها قبل از ارسال واقعی مفید است.
Deliver به طور خودکار اسکرینشاتها را برای همه ترکیبهای دستگاه و زبان از دایرکتوری مشخصشده بارگذاری میکند. نام فایلها باید مطابق الگو باشد: iPhone_6.5_01.png برای iPhone با قطر ۶.۵ اینچ در اسلات اول. Deliver خود اندازه اسکرینشات را تعیین کرده و با الزامات Apple برای هر نوع دستگاه تطبیق میدهد.
اسکرینشاتها به ترتیب صحیح و برای هر زبان محلیسازی جداگانه بارگذاری میشوند. اگر برای زبانی اسکرینشاتی یافت نشود، Deliver از نسخههای انگلیسی به عنوان گزینه پشتیبان استفاده میکند. محلیسازی اسکرینشاتها — الزامی اجباری برای برنامههایی است که میخواهند در App Store کشورهای مختلف رتبه خوبی داشته باشند، زیرا Apple محتوای محلی را در نتایج جستجو در نظر میگیرد.
# دستور اصلی بارگذاری در App Store
fastlane deliver
# بارگذاری با مشخص کردن فرادادهها و اسکرینشاتها
fastlane deliver --ipa "build/MyApp.ipa" \
--force --submit_for_review
# پیشنمایش بدون بارگذاری
fastlane deliver --preview
Deliverfile — فایل پیکربندی Fastlane برای ذخیره فرادادههای برنامه در قالب ساختاریافته Ruby است. برخلاف پر کردن دستی فرمها در App Store Connect، Deliverfile امکان نسخهگذاری فرادادهها در Git و بررسی تغییرات از طریق بررسی کد قبل از انتشار را فراهم میکند.
# Deliverfile — فرادادههای برنامه
app_identifier("com.company.app")
title("MyApp")
description("توضیحات برنامه برای فروشگاه")
keywords("موبایل، برنامه، ios، swift")
support_url("https://company.com/support")
marketing_url("https://company.com")
privacy_url("https://company.com/privacy")
# زبانهای محلیسازی فرادادهها
languages(["en-US", "ru", "de"])
پارامتر languages تعیین میکند که فرادادهها برای کدام زبانها بارگذاری شوند. برای هر زبان باید یک دایرکتوری جداگانه در پوشه fastlane/metadata با فایلهای مربوطه توضیحات، کلمات کلیدی و متون بازاریابی ایجاد شود. Deliver همزمان از ۳۲ زبان App Store پشتیبانی میکند.
برای بارگذاری اسکرینشاتها از دایرکتوری screenshots داخل پوشه Fastlane استفاده میشود. ساختار پوشهها: screenshots/[Language]/[DeviceType]_[ScreenSize]_[Number].png. Deliver به طور خودکار اسکرینشاتها را برای زبانها و دستگاههای مشخصشده بارگذاری کرده و اندازهها را با الزامات Apple تطبیق میدهد. توصیه میشود از Snapshot برای تولید اسکرینشاتها استفاده کنید — فرمت خروجی آنها با Deliver سازگار است.
گروه قیمتی از طریق پارامتر price_tier پیکربندی میشود که شماره سطح قیمت را از ۰ تا ۸۷ میپذیرد. گروههای قیمتی Apple به طور خودکار به ارزهای همه کشورهای حضور تبدیل میشوند. Deliver امکان تغییر قیمت در چارچوب انتشار را فراهم میکند که برای تبلیغات موقت یا تغییر مدل کسبوکار برنامه مفید است.
رابط Deliver شامل دستوراتی برای بارگذاری فرادادهها، فایلهای باینری، اسکرینشاتها و انتشار کامل است. دستور اصلی fastlane deliver بدون پارامتر از دادههای Deliverfile و دایرکتوری metadata برای چرخه کامل انتشار استفاده میکند.
دستور fastlane deliver --preview تأیید اولیه فرادادهها را بدون بارگذاری واقعی در App Store Connect آغاز میکند. --force برای بارگذاری ضروری است — بدون آن، Deliver در حالت پیشنمایش کار میکند. پارامتر --skip_binary فقط فرادادهها و اسکرینشاتها را بارگذاری کرده و بارگذاری فایل باینری را نادیده میگیرد — این برای بهروزرسانی سریع فیلدهای ASO بدون انتشار جدید مفید است.
# انتشار کامل با بارگذاری فایل باینری
fastlane deliver --force --ipa "build/App.ipa"
# بارگذاری فقط فرادادهها بدون فایل باینری
fastlane deliver --force --skip_binary
# بهروزرسانی فقط اسکرینشاتها
fastlane deliver --force --skip_metadata
پارامتر --skip_metadata فقط اسکرینشاتها و فایل باینری را بارگذاری کرده و فرادادههای موجود را بدون تغییر حفظ میکند. این برای انتشارهای hotfix مفید است، زمانی که نیاز به انتشار سریع یک رفعبینی بدون تغییر توضیحات و فیلدهای ASO دارید. ترکیب پرچمها امکان مدیریت انعطافپذیر هر مرحله از انتشار را به طور جداگانه فراهم میکند.
| دستور Deliver | کاربرد | پرچمها |
|---|---|---|
| deliver | انتشار کامل با فرادادهها و فایل باینری | --force, --ipa |
| deliver --skip_binary | بهروزرسانی فقط فرادادهها و اسکرینشاتها | --force |
| deliver --skip_metadata | بارگذاری فایل باینری و اسکرینشاتها بدون تغییر ASO | --force, --ipa |
| deliver --preview | بررسی اولیه فرادادهها | بدون --force |
| deliver --submit_for_review | ارسال خودکار به نظارت | --force, --ipa |
خط لوله انتشار با Deliver — یک فرآیند کامل CI/CD برای iOS است که تمام مراحل از commit تا انتشار در App Store را خودکار میکند. خط لوله معمولی شامل: Match برای گواهیها، Gym برای بیلد IPA، Snapshot برای اسکرینشاتها و Deliver برای بارگذاری همه دادهها در App Store با ارسال بعدی به نظارت است.
ویژگی کلیدی Deliver در خط لوله — پشتیبانی از metadata.json است که فرادادهها را در قالب ساختاریافته JSON ذخیره میکند. این امکان تولید برنامهریزی شده فرادادهها از سیستمهای CMS خارجی یا ایجاد خودکار توضیحات به چندین زبان از طریق API ترجمه را فراهم میکند.
# خط لوله انتشار در Fastfile
lane :release do
match(type: :appstore)
capture_screenshots
gym(scheme: "MyApp", export_method: "app-store")
deliver(ipa: "build/MyApp.ipa", force: true, submit_for_review: true)
end
قبل از فراخوانی Deliver در خط لوله، مطمئن شوید که همه فرادادهها بهروز هستند: توضیحات با نسخه جدید مطابقت دارد، اسکرینشاتها برای ویژگیهای جدید بهروز شدهاند و گروه قیمتی نیازی به تغییر ندارد. Submit for review برنامه را به نظارت Apple ارسال میکند که برای برنامههای جدید ۲۴ تا ۴۸ ساعت و برای بهروزرسانیها ۲ تا ۱۲ ساعت طول میکشد.
Deliver از مکانیزم app_version پشتیبانی میکند که به شما امکان میدهد نسخه هدف را برای بهروزرسانی فرادادهها مشخص کنید. اگر نسخه مشخص نشود، Deliver نسخه فعال فعلی برنامه را در App Store Connect بهروز میکند. برای انتشار نسخه جدید، باید ابتدا نسخه مربوطه را از طریق رابط App Store Connect یا API ایجاد کنید.
هنگام استفاده از Deliver، توسعهدهندگان اغلب با خطاهای اعتبارسنجی فرادادهها، ساختار نادرست فایلهای اسکرینشات و مشکلات احراز هویت مواجه میشوند. تشخیص خطا Deliver با تجزیه و تحلیل لاگهای دستور آغاز میشود — Deliver اطلاعات دقیقی درباره هر مرحله بارگذاری و دلایل رد شدن نمایش میدهد.
خطای «Invalid screenshot path» زمانی رخ میدهد که ساختار پوشههای اسکرینشات با فرمت مورد انتظار مطابقت ندارد. راه حل: نام فایلهای اسکرینشات را مطابق الگوی DeviceType_ScreenSize_Number.png بررسی کنید (مثلاً AppleiPhone15ProMax_6.7_01.png). Deliver به حروف بزرگ و کوچک و جداکنندهها در نام فایلها حساس است.
خطای «Metadata validation failed» نشاندهنده عدم تطابق فرادادهها با الزامات App Store است. راه حل: طول توضیحات (تا ۴۰۰۰ کاراکتر)، کلمات کلیدی (تا ۱۰۰ کاراکتر) و نام (تا ۳۰ کاراکتر) را بررسی کنید. App Store Review Guidelines الزامات کامل هر فیلد فراداده را شامل میشود — توصیه میشود قبل از هر انتشار آنها را بررسی کنید.
در خطای «Apple ID not found» برنامه با apple_identifier مشخصشده در App Store Connect وجود ندارد. راه حل: قبل از اولین فراخوانی Deliver، از طریق رابط وب در App Store Connect یک رکورد برنامه با Bundle Identifier و نام ایجاد کنید. Deliver برنامههای جدید ایجاد نمیکند — فقط رکوردهای موجود در فروشگاه را بهروز میکند.
سوالات متداول
بله، Deliver از بارگذاری برنامهها برای iOS، iPadOS، macOS، tvOS و watchOS پشتیبانی میکند. برای هر نوع برنامه باید یک فایل IPA صحیح که برای پلتفرم مربوطه ساخته شده است مشخص کنید. Deliver به طور خودکار پلتفرم را از رکورد برنامه در App Store Connect تعیین میکند.
Deliver فرادادهها را برای هر زبان از دایرکتوری fastlane/metadata/[lang] میخواند. اگر برای زبانی فایلهایی یافت نشود، Deliver از مقادیر انگلیسی به عنوان fallback استفاده میکند. اسکرینشاتها برای هر زبان جداگانه از دایرکتوری screenshots/[lang] بارگذاری میشوند.
خیر، نیازی به غیرفعال کردن احراز هویت دو مرحلهای نیست. Deliver از App Store Connect API Key برای احراز هویت استفاده میکند که مستقل از 2FA کار میکند. کلید API در App Store Connect تولید میشود و امکان انجام همه عملیاتها بدون تأیید تعاملی را فراهم میکند.
از دستور fastlane deliver --reject استفاده کنید که برنامه ارسالشده به نظارت را پس میگیرد. این فقط در صورتی امکانپذیر است که بررسی هنوز شروع نشده باشد — پس از شروع بررسی، لغو بهروزرسانی فقط از طریق رابط وب App Store Connect امکانپذیر است.
Pilot بیلدهای بتا را در TestFlight مدیریت میکند: فایلهای باینری را بارگذاری کرده و بین گروههای تستر توزیع میکند. Deliver مسئول انتشار تولید است: فرادادهها، اسکرینشاتها و فایلهای باینری را برای کاربران نهایی به App Store بارگذاری میکند. Pilot برای تست بتا است، Deliver برای انتشار.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید