App Review — فرآیند بررسی اپلیکیشنها قبل از انتشار در App Store است. هر اپلیکیشن برای مطابقت با قوانین Apple تحت نظارت قرار میگیرد: امنیت، حریم خصوصی، کیفیت رابط کاربری و پایداری عملکرد. طبق دادههای Apple Developer Guidelines, 2024، 48 ساعت — میانگین زمان بررسی پس از ارسال درخواست است. آشنایی با معیارهای review به توسعهدهندگان کمک میکند تا در اولین تلاش از نظارت عبور کنند.
نکات اصلی
App Review — فرآیند نظارت بر اپلیکیشنهای Apple قبل از انتشار در App Store است. هر اپلیکیشن، بهروزرسانی یا افزونه برای مطابقت با App Store Review Guidelines — سندی از چندین بخش شامل امنیت، حریم خصوصی، طراحی، هنجارهای قانونی و محتوا — بررسی میشود.
این روش برای همه توسعهدهندگان در اکوسیستم Apple اجباری است. بدون عبور از App Review، اپلیکیشن در کاتالوگ App Store ظاهر نمیشود، برای دانلود در دسترس نیست و از طریق TestFlight قابل توزیع نیست. استثنا — گواهیهای Enterprise برای توزیع داخلی شرکتی.
Apple App Review را همراه با راهاندازی App Store در سال 2008 معرفی کرد. در ابتدا بررسی 7–14 روز طول میکشید و کمتر رسمی بود. طبق تحقیقات CNBC (2023)، Apple در 15 سال بیش از 2 میلیون اپلیکیشن را به دلایل مختلف رد کرد. در سال 2020، Apple برنامه بررسی تسریعشده را برای توسعهدهندگان با رتبه اعتماد بالا راهاندازی کرد.
برخلاف Google Play که انتشار بدون نظارت قبلی امکانپذیر است، App Store از پیشنظارت استفاده میکند — هر اپلیکیشن قبل از انتشار بررسی میشود. Google Play از پسنظارت و اسکنرهای خودکار استفاده میکند. طبق تحلیل Appfigures (2024)، میانگین زمان تأیید در App Store 48 ساعت در مقابل 4 ساعت در Google Play است. در عین حال، سطح رد شدن در App Store 35% بیشتر است.
پس از ارسال build از طریق App Store Connect، بررسی چندمرحلهای آغاز میشود. توسعهدهنده اپلیکیشن را برای review ارسال میکند، نسخه را انتخاب کرده و متادیتا را پر میکند. Apple درخواستها را بین تیمهای ناظر بسته به دستهبندی اپلیکیشن و منطقه توزیع میکند.
مرحله اول به صورت خودکار انجام میشود. اسکنرهای Apple کد باینری را از نظر وجود فریمورکهای مخرب، استفاده از APIهای بسته و مطابقت با قالب App Store بررسی میکنند. سیستم متادیتا را تحلیل میکند: نام، توضیحات، اسکرینشاتها و رده سنی. بررسی خودکار 5 تا 30 دقیقه طول میکشد.
import StoreKit
func checkReviewStatus() {
let url = URL("https://api.appstoreconnect.apple.com/v1/apps/<APP_ID>/reviewSubmissions")!
var request = URLRequest(url: url)
request.setValue("Bearer <JWT_TOKEN>", forHTTPHeaderField: "Authorization")
URLSession.shared.dataTask(with: request) { data, _, _ in
guard let data = data else { return }
let status = try? JSONDecoder().decode(ReviewStatus.self, from: data)
print("وضعیت بررسی: \(status?.attributes.state ?? \`"unknown\`")")
}.resume()
}
پس از بررسی خودکار، درخواست به ناظر انسانی ارسال میشود. ناظر عملکرد اپلیکیشن را بررسی میکند، سناریوهای کلیدی را تست میکند، طراحی را از نظر مطابقت با Human Interface Guidelines ارزیابی کرده و محتوا را بررسی میکند. طبق گزارش Apple (2024)، نظارت انسانی 40–70% از کل زمان بررسی را تشکیل میدهد.
App Store Review Guidelines — مجموعه قوانینی است که به 6 دسته اصلی تقسیم شده است: امنیت، حریم خصوصی، طراحی، الزامات قانونی، محتوا و معیارهای فنی. هر دسته شامل 5 تا 30 زیربند با الزامات مشخص است.
| دسته | الزامات اصلی | Guidelines |
|---|---|---|
| امنیت | بدون کد مخرب، حفاظت از دادهها | 1.0–1.5 |
| حریم خصوصی | پردازش دادههای شخصی، درخواست مجوز | 2.0–2.5 |
| طراحی | مطابقت با HIG، پایداری رابط | 3.0–3.4 |
| قانونی | رده سنی، بازیهای قمار، محتوا | 4.0–4.9 |
| محتوا | عدم توهین، حق نشر | 5.0–5.6 |
Apple استفاده از Privacy Manifests و شرح اهداف جمعآوری داده را به شدت بررسی میکند. از سال 2024، هر اپلیکیشن موظف است APIهای استفادهشده برای جمعآوری داده را مشخص کرده و ضرورت آنها را توجیه کند. نبود Privacy Manifest یکی از دلایل رایج رد شدن است.
اپلیکیشن باید از Human Interface Guidelines پیروی کند. Apple اپلیکیشنهایی با عناصر خراب، لینکهای شکسته، نمایش نادرست در دستگاههای مختلف و متن ناخوانا را رد میکند. توجه ویژه به تطبیق با Dynamic Type و VoiceOver میشود.
آمادهسازی برای App Review از مرحله توسعه آغاز میشود. بیشتر رد شدنها نه به دلیل خطاهای کد، بلکه به دلیل نقض الزامات رسمی است: نبود حساب تستی، متادیتای ناقص یا رده سنی نادرست. در زیر چکلیستی برای آمادهسازی قبل از ارسال آورده شده است.
// بررسی پیش از ارسال App Review
struct PreReviewChecklist {
let hasPrivacyManifest: Bool
let hasTestAccount: Bool
let screenshotsValid: Bool
func isReadyForReview() -> Bool {
let checks = [hasPrivacyManifest, hasTestAccount, screenshotsValid]
return checks.allSatisfy { $0 }
}
}
در App Store Connect باید دستهبندی اپلیکیشن، کلمات کلیدی، توضیحات و اطلاعات تماس مشخص شود. برای اپلیکیشنهای دارای اشتراک، اطلاعات قیمتها و مدت اشتراک باید پر شود. Apple افزودن پیشنمایش ویدیویی به مدت 15–30 ثانیه را توصیه میکند — این کار نرخ تبدیل به نصب را 20–25% افزایش میدهد.
قبل از ارسال به review، روی دستگاههای فیزیکی با نسخههای مختلف iOS تست کنید. شبیهساز مشکلات عملکرد، داغ شدن و مصرف باتری را شناسایی نمیکند. Apple اپلیکیشنهایی که در سناریوهای استاندارد کرش میکنند یا قفل میشوند را رد میکند.
اگر اپلیکیشن به چند زبان بومیسازی شده است، صحت رشتههای بومیسازیشده و قالببندی دادهها را بررسی کنید. Apple اپلیکیشنهایی را رد میکند که بخشی از رابط در زبان انتخابی فارسی به انگلیسی باقی مانده باشد. برای اپلیکیشنهای دارای محتوا در اتحادیه اروپا یا چین، مطابقت با قوانین منطقهای را بررسی کنید: GDPR، CCPA و الزامات صدور گواهی چین.
برای خودکارسازی فرآیند App Review از App Store Connect API استفاده کنید. API امکان ارسال برنامهای buildها، پیگیری وضعیتهای بررسی و دریافت اعلانهای تغییرات را فراهم میکند. یکپارچهسازی با CI/CD از طریق Fastlane یا GitHub Actions زمان بین commit و ارسال به review را از چند ساعت به 10–15 دقیقه کاهش میدهد.
طبق آمار App Review منتشرشده توسط Apple در سال 2024، 5 دلیل بیش از 60% کل رد شدنها را تشکیل میدهند. بیشتر آنها نه به خطاهای فنی، بلکه به نقض قوانین طراحی و توضیحات مربوط هستند.
| دلیل | Guideline | سهم ردها |
|---|---|---|
| اطلاعات ناقص | 3.0–3.4 | 22% |
| جمعآوری داده بدون رضایت | 2.0–2.5 | 18% |
| کرش و باگ | 1.0–1.5 | 12% |
| محتوای پولی بدون IAP | 4.0–4.2 | 10% |
| رده سنی نادرست | 5.0–5.6 | 8% |
در صورت رد، Apple نامهای با ذکر دلایل و پیوند به بخشهای خاص Guidelines ارسال میکند. توسعهدهنده میتواند مشکل را برطرف کرده و اپلیکیشن را از طریق App Store Connect دوباره ارسال کند. برای شفافسازی دلایل رد، Resolution Center — چت با ناظر Apple در دسترس است.
اگر توسعهدهنده با تصمیم ناظر موافق نیست، میتواند اعتراض کند. در Resolution Center باید نشان دهد که چرا اپلیکیشن با قوانین مطابقت دارد و مدارک ارائه دهد. طبق گزارش Appfigures (2024)، حدود 35% از اعتراضات پس از بررسی مجدد تأیید میشوند.
زمان استاندارد بررسی App Review 24–48 ساعت است. با این حال، در دورههای فشار بالا — پس از WWDC، قبل از تعطیلات سال نو و در فصل بهروزرسانی iOS — مدت زمان به 5–7 روز افزایش مییابد. Apple میانگین زمان فعلی را در صفحه App Review Status منتشر میکند.
برای اصلاحات بحرانی، Apple Expedited Review — بررسی تسریعشده در عرض 2–6 ساعت ارائه میدهد. درخواست از طریق App Store Connect با ذکر دلیل ارسال میشود: رفع آسیبپذیری بحرانی، بازیابی سرویس یا خطای مسدودکننده کاربران. درخواستهای نادرست برای تسریع میتواند منجر به رد درخواستهای بعدی شود.
بررسی تسریعشده فقط در شرایطی توجیهپذیر است که اپلیکیشن غیرقابل استفاده میشود یا قانون را نقض میکند. طبق دادههای Apple Developer Support (2024)، Expedited Review در 70% موارد با دلیل موجه تأیید میشود. درخواست تسریع برای بهروزرسانیهای برنامهریزیشده با قابلیتهای جدید توصیه نمیشود.
سؤالات متداول
بررسی استاندارد 24–48 ساعت طول میکشد. در دورههای فشار بالا، مدت به 5–7 روز افزایش مییابد. میانگین زمان فعلی در صفحه App Review Status در App Store Connect منتشر میشود.
بله، از طریق مکانیزم Expedited Review. بررسی تسریعشده 2–6 ساعت طول میکشد. درخواست در App Store Connect با توجیه ارسال میشود: آسیبپذیری بحرانی، خرابی سرویس یا خطای مسدودکننده. درخواستهای نادرست منجر به رد میشوند.
نقضهای ذکر شده در نامه را برطرف کرده و اپلیکیشن را از طریق App Store Connect دوباره ارسال کنید. برای شفافسازی دلایل از Resolution Center — چت با ناظر Apple استفاده کنید. بررسی مجدد هزینه اضافی ندارد.
خیر، بررسی مجدد رایگان است. پس از رفع نقضها، کافی است build جدیدی در App Store Connect بارگذاری کنید یا متادیتا را بهروز کنید و درخواست را دوباره ارسال کنید. تعداد تلاشها محدود نیست.
وضعیت در App Store Connect در بخش My Apps → اپلیکیشن را انتخاب کنید → برگه App Review نمایش داده میشود. وضعیتهای موجود: Waiting for Review, In Review, Approved, Rejected. اعلانها به ایمیل توسعهدهنده ارسال میشوند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید