عیب یابی توزیع برنامه & سوالات متداول


این صفحه راهنمایی عیب‌یابی و پاسخ‌هایی به سؤالات متداول درباره توزیع و آزمایش برنامه‌ها با App Distribution ارائه می‌دهد.

توزیع برنامه ها

از نکات زیر برای عیب یابی مشکلاتی که ممکن است هنگام توزیع برنامه ها بین آزمایش کنندگان خود با آن مواجه شوید، استفاده کنید.

هنگام آپلود یک برنامه، ممکن است با این خطا مواجه شوید:

"ما نتوانستیم یک ایمیل تماس برای برنامه <app-id> پیدا کنیم. لطفاً برای راه‌اندازی از App Distribution در کنسول Firebase بازدید کنید."

در صورت وجود، یک ایمیل تماس در کنسول Firebase تنظیم کنید. اگر مشکل همچنان ادامه داشت، با پشتیبانی Firebase تماس بگیرید.

اگر در حین تهیه بارها با خطاهای 400، 409 یا 500 مواجه شدید، با پشتیبانی Firebase تماس بگیرید. شماره پروژه Firebase و شناسه برنامه خود را پشتیبانی کنید.

نمونه زیر نمونه ای از پاسخ شبکه مرورگر است:

{
"status": "IN_PROGRESS",
  "message": "There was an error processing your
distribution. Ensure you are uploading a valid IPA or APK and try again."
}

برای حل این مشکل مراحل زیر را دنبال کنید:

  1. اندازه IPA را بررسی کنید. حداکثر اندازه فایل برای همه باینری ها 2048 مگابایت است که کمی بیش از 2 گیگابایت است.

  2. اگر اندازه IPA در محدوده اندازه فایل است و قابل تکرار است، مراحل زیر را دنبال کنید:

    1. فایل Info.plist خود را بررسی کنید و تأیید کنید که آیا CFBundleDisplayName حاوی هر گونه جداکننده <array> است یا خیر.

    2. جداکننده های <array> را بردارید و برنامه خود را دوباره بسازید. آپلود باید با موفقیت انجام شود.

    3. اگر همچنان با مشکل مواجه هستید، با پشتیبانی Firebase تماس بگیرید.

  3. اگر اندازه IPA بیش از حد مجاز اندازه فایل است، تغییرات لازم را برای کاهش اندازه فایل انجام دهید.

  4. اگر کاهش اندازه فایل IPA مشکل را حل نکرد، با پشتیبانی Firebase تماس بگیرید و در مورد استفاده از Testflight سؤال کنید.

نصب و تست اپلیکیشن ها

از نکات زیر برای عیب یابی مشکلاتی که آزمایش کنندگان شما ممکن است هنگام نصب و آزمایش برنامه های شما با آن مواجه شوند، استفاده کنید.

هنگامی که یک کاربر یک حساب Google ایجاد می کند، به طور خودکار یک آدرس Gmail دریافت می کند.

اگر آزمایش‌کننده آدرس Google Workspace یا Gmail ندارد، یا اگر ترجیح می‌دهد از آدرس ایمیل دیگری برای ورود به سیستم استفاده کند، از آزمایش‌کننده بخواهید یک آدرس ایمیل غیر Gmail را به حساب مرتبط کند و از آن ایمیل برای ورود به سیستم استفاده کند.

هنگام انتخاب ایمیل جایگزین، آزمایش‌کننده باید این دستورالعمل‌ها را دنبال کند:

  • از آدرس جیمیل استفاده نکنید.
  • از آدرس ایمیلی که قبلاً به حساب Google دیگری پیوند شده است استفاده نکنید.
  • به یاد داشته باشید که هنگام ورود به سیستم با این آدرس ایمیل از رمز عبور حساب Google خود استفاده کنید.

برای اطلاعات بیشتر، با آدرس ایمیل دیگری وارد حساب Google خود شوید .

اگر آزمایش‌کننده دعوت نامه رایانامه را با آدرس ایمیل متفاوتی با آدرس ایمیلی که دعوتنامه به آن ارسال شده است بپذیرد، آزمایش‌کننده ممکن است نتواند برنامه‌ها یا ساخت‌های مناسب را ببیند.

ایمیلی که برنامه‌نویس برای آن دعوت‌نامه می‌فرستد و به ساخت‌های جدید اضافه می‌کند (ایمیل A) می‌تواند با ایمیلی که آزمایش‌کننده برای پذیرش دعوت استفاده می‌کند (ایمیل B) متفاوت باشد. این یک پیوند در پشت صحنه ایجاد می کند. هر زمان که ایمیل A به ساخت‌های جدید اضافه می‌شود، در واقع این ایمیل B است که دسترسی پیدا می‌کند.

اگر آزمایش‌کننده دعوت نامه ایمیل را با آدرس ایمیل دیگری پذیرفت، این مراحل را برای حل مشکل دنبال کنید:

  1. آزمایش‌کننده را از بخش مشاهده همه آزمایش‌کنندگان در برگه آزمایش‌کنندگان و گروه‌ها در صفحه App Distribution کنسول Firebase حذف کنید. دعوت‌نامه‌های موجود حذف می‌شوند.

  2. دوباره آزمایش کننده را دعوت کنید تا برنامه شما را آزمایش کند. آزمایش‌کننده باید یک ایمیل دعوت دریافت کند.

  3. مطمئن شوید که آزمایش کننده دعوت نامه را با همان آدرس ایمیل می پذیرد.

در صورت بروز یکی از موارد زیر، آزمایش‌کنندگان ممکن است اعلان‌های ایمیلی را دریافت نکنند:

  • اعلان های ایمیل به پوشه های هرزنامه ارسال می شود.

  • فیلترهای ایمیل تنظیم شده است.

  • دعوت به یک حساب ایمیل ارسال شد، اما آزمایش‌کننده با حساب ایمیل دیگری پذیرفت. آزمایش‌کننده ایمیل‌های نسخه جدید را برای حساب ایمیلی که دعوتنامه ابتدا به آن ارسال شده است، دریافت می‌کند.

  • آزمایش‌کننده قبلاً دعوت شده بود، اما دعوت اولیه را نپذیرفت. اگر آزمایش‌کننده به نسخه‌های بعدی اضافه شود، App Distribution به‌طور خودکار اعلان‌های انتشار را برای آن آزمایش‌کننده ارسال نمی‌کند زیرا آزمایش‌کننده دعوت اولیه را نپذیرفت.

راه حل 1

  1. از آزمایش کننده بخواهید که پوشه هرزنامه و فیلترهای ایمیلی را که در سرویس ایمیل خود تنظیم کرده است بررسی کند.

  2. اگر آزمایش‌کننده اشتراک ایمیل‌ها را لغو کرد، از آزمایش‌کننده بخواهید موارد زیر را انجام دهد:

    1. ایمیلی را پیدا کنید که آزمایش‌کننده قبلاً از برنامه دریافت کرده است.
    2. روی مدیریت تنظیمات ایمیل در پایین کلیک کنید و روی Allow emails to resubscribe کلیک کنید.

راه حل 2

اگر آزمایش‌کننده به دریافت اعلان‌های ایمیل اهمیتی نمی‌دهد و فقط می‌خواهد دعوت‌های برنامه را بپذیرد، می‌تواند دعوت‌های برنامه در انتظار را مستقیماً در کلیپ وب Firebase App Distribution مشاهده کند: appdistribution.firebase.google.com .

راه حل 3

  1. آزمایش‌کننده را از بخش مشاهده همه آزمایش‌کنندگان در برگه آزمایش‌کنندگان و گروه‌ها در صفحه App Distribution در کنسول Firebase حذف کنید. این عمل دعوت‌های موجود را حذف می‌کند.

  2. دوباره آزمایش کننده را دعوت کنید تا برنامه شما را آزمایش کند. آزمایش‌کننده باید یک ایمیل دعوت دریافت کند. مطمئن شوید که آزمایش کننده دعوت نامه را با همان آدرس ایمیلی که دعوت نامه به آن ارسال شده است می پذیرد.

خطای Untrusted Enterprise Developer در صورتی ظاهر می شود که قبل از باز کردن برنامه به گواهی توسعه دهنده در دستگاه آزمایشی اعتماد نداشته باشید. در صفحه تنظیمات برنامه > نمایه‌ها و مدیریت دستگاه ، نام برنامه‌نویس برنامه را انتخاب کنید و به آن اعتماد کنید.

خطای Developer Mode Required زمانی ظاهر می‌شود که می‌خواهید یک برنامه iOS اختصاصی را در iOS 16 یا جدیدتر اجرا کنید بدون اینکه ابتدا حالت برنامه‌نویس را فعال کنید.

برای فعال کردن Developer Mode و رفع این خطا، مراحل زیر را دنبال کنید:

  1. در iPhone خود، برنامه Settings را باز کنید و سپس روی Privacy & Security ضربه بزنید.
  2. به پایین بروید و به Security بروید و روی Developer Mode ضربه بزنید.
  3. روی نوار لغزنده Developer Mode ضربه بزنید.
  4. روی Restart ضربه بزنید.
  5. پس از راه اندازی مجدد دستگاه، قفل دستگاه را باز کنید. حالت برنامه نویس روشن شود؟ گفتگو ظاهر می شود
  6. روی روشن کردن ضربه بزنید. اکنون می توانید برنامه خود را راه اندازی کنید و شروع به آزمایش کنید.

اگر در حال نصب یک توزیع Ad Hoc هستید، این پیام زمانی ظاهر می شود که توسعه دهنده هنوز برنامه خود را برای اجرا در دستگاه آزمایشی شما پیکربندی نکرده باشد. برای در دسترس قرار دادن برنامه در دسترس شما، برنامه‌نویس باید دستورالعمل‌ها را در ثبت دستگاه‌های اضافی تکمیل کند.

اگر حساب Google شما به برنامه آزمایشی که قبلاً نصب کرده اید (یا دعوت نامه را پذیرفته اید) دسترسی ندارد، احتمالاً به حساب Google اشتباهی وارد شده اید. برنامه‌هایی که به آن‌ها دسترسی دارید با حساب Google مرتبط هستند که هنگام پذیرش دعوت برای آزمایش برنامه استفاده می‌کردید. با ورود به حساب Google که قبلاً برای پذیرش دعوت استفاده می‌کردید، دوباره امتحان کنید.

وقتی با خطای 403 مواجه می‌شوید، به این معنی است که حسابی که استفاده می‌کنید مجوز نصب و آزمایش برنامه‌ها را ندارد. دسترسی توسط سرپرست دامنه حساب شما در Google Workspace تعیین می شود.

اگر فکر می‌کنید باید مجوز نصب و آزمایش برنامه‌ها را داشته باشید، از سرپرست حساب Google Workspace خود بخواهید تنظیمات حساب شما را تغییر دهد. سرپرست شما باید دستورالعمل‌های مدیریت دسترسی به سرویس‌هایی را که به‌صورت جداگانه کنترل نمی‌شوند، دنبال کند.

اگر چندین حساب دارید، سعی کنید با حساب دیگری وارد شوید که محدودیتی برای نصب و آزمایش برنامه‌ها ندارد.

فعال کردن هشدارهای درون برنامه ای با App Distribution iOS SDK

از نکات زیر برای عیب یابی مشکلاتی استفاده کنید که شامل فعال کردن هشدارهای ساخت جدید درون برنامه با استفاده از App Distribution iOS SDK است.

اگر قبلاً App Distribution iOS SDK را در برنامه خود راه‌اندازی کرده‌اید و آزمایش‌کنندگان هشدارهای درون‌برنامه‌ای را دریافت نمی‌کنند، بررسی کنید تا مطمئن شوید برنامه‌تان نسخه‌های جدید را دریافت می‌کند:

  1. حالت اشکال زدایی را در برنامه خود فعال کنید. برای یادگیری نحوه انجام، به مستندات Google Analytics مراجعه کنید.

  2. برنامه خود را در یک شبیه ساز اجرا کنید و رشته "[Firebase/AppDistribution]" را جستجو کنید.

  3. بررسی کنید که آزمایش‌کننده به نسخه جدید دسترسی داشته باشد:

    • اگر یک شی انتشار معتبر برگردانده شود، احتمالاً مشکلی در چرخه حیات View Controller وجود دارد که در آن گفتگوی هشدار قبل از ظاهر شدن View بارگیری می شود.

    • اگر نسخه‌ای برگردانده نشد، آزمایش‌کننده شما ممکن است هنوز با نسخه جدید مرتبط نباشد. در داشبورد App Distribution کنسول Firebase ، مطمئن شوید که تستر شما در توزیع ساخت شما گنجانده شده است و در وضعیت Accepted قرار دارد.

      اگر آزمایش‌کننده شما همچنان به‌روزرسانی‌ها را دریافت نمی‌کند، از او بخواهید نکات زیر را دنبال کند تا مطمئن شود که دعوت‌نامه آزمایش برنامه شما را پذیرفته و دستگاه آزمایشی خود را به درستی راه‌اندازی کرده است:

      1. در دستگاه آزمایشی، وارد کلیپ وب Firebase App Distribution شوید. به یاد داشته باشید که حساب Google را که برای اولین بار هنگام پذیرفتن دعوت برای آزمایش برنامه استفاده کردید، انتخاب کنید.

      2. مطمئن شوید که نسخه جدید برنامه در کلیپ وب موجود است.

به‌طور پیش‌فرض، آزمایش‌کنندگان شما فقط باید یک بار وارد حساب Google خود شوند تا هشدارهای ساخت جدید را فعال کنند و ساخت‌های جدید را نصب کنند. اگر پس از بستن و باز کردن مجدد برنامه از آزمایش کنندگان شما خواسته می شود که دوباره به سیستم وارد شوند، این نکات را دنبال کنید تا مطمئن شوید که پیکربندی App Distribution شما به درستی تنظیم شده است:

  • بررسی کنید تا مطمئن شوید Firebase App Testers API را فعال کرده اید. برای اطلاعات بیشتر، به فعال کردن API تستر توزیع برنامه مراجعه کنید.

  • تحت محدودیت‌های کلیدی ، مطمئن شوید که Firebase App Testers API در فهرست APIهای مجاز گنجانده شده است.

  • اگر معمولاً هنگام خروج از سیستم، UserDefaults را پاک می‌کنید، ممکن است وضعیت آزمایش‌کننده خود را پاک کنید. App Distribution پرچمی را ذخیره می‌کند که نشان می‌دهد آزمایش‌کننده شما قبلاً وارد برنامه شده است یا خیر. برای اطلاعات بیشتر، به مخزن GitHub مراجعه کنید.

سوالات متداول

Firebase App Distribution دارای محدودیت‌های آزمایش‌کننده زیر است:

  • حداکثر 500 آزمایش کننده را به پروژه Firebase اضافه کنید

  • حداکثر 200 آزمایش کننده را به یک گروه App Distribution اضافه کنید

برای افزودن آزمایشگرهای بیشتر، درخواست افزایش محدودیت بدون هزینه کنید.

آزمایش‌کننده‌ها 30 روز فرصت دارند تا قبل از انقضا، دعوتنامه را برای آزمایش برنامه بپذیرند. وقتی دعوتنامه 5 روز از تاریخ انقضا می‌گذرد، در کنسول Firebase در کنار آزمایش‌کننده در نسخه‌ای که منتشر می‌شود، اعلان انقضا ظاهر می‌شود. دعوتنامه را می توان با ارسال مجدد آن از طریق منوی کشویی در ردیف آزمایشگر تمدید کرد.

به ثبت دستگاه های اضافی مراجعه کنید.

در صورت بروز یکی از شرایط زیر، نسخه‌های برنامه از App Distribution حذف می‌شوند:

  • نسخه نسخه قدیمی تر از 150 روز است.
  • شما از محدودیت 1000 انتشار برنامه فراتر رفته اید و نسخه نسخه قدیمی تر از 1000 نسخه جدیدترین نسخه برنامه است.

برای اطلاعات بیشتر، ببینید App Distribution حداکثر از 1000 نسخه پشتیبانی می‌کند .

پس از اینکه برنامه به محدودیت انقضای 150 روزه یا محدودیت انتشار 1000 برنامه رسید یا از آن فراتر رفت، نسخه از داشبورد App Distribution و برنامه وب آزمایش کننده App Distribution حذف می شود. اگر آزمایش‌کننده شما نسخه را نصب کرده باشد، نسخه محلی برنامه همچنان اجرا می‌شود.

برای در دسترس نگه داشتن نسخه برنامه برای مدت طولانی‌تری، از یکی از توصیه‌های زیر استفاده کنید:

  • قبل از اینکه نسخه برنامه منقضی شود یا از محدودیت انتشار فراتر رود، IPA را دانلود کنید و نسخه را از داشبورد App Distribution حذف کنید. سپس، IPA را به عنوان یک ساخت جدید در App Distribution بارگذاری کنید.
  • نسخه را دانلود کنید و برای بایگانی طولانی مدت در Cloud Storage آپلود کنید.

انتشار برنامه پس از 150 روز منقضی می شود

وقتی نسخه‌ای از برنامه خود را در Firebase آپلود می‌کنید، این نسخه از تاریخ آپلود به مدت 150 روز در داشبورد App Distribution ظاهر می‌شود. پس از آپلود نسخه، می‌توانید آن را بین آزمایش‌کنندگان توزیع کنید که نسخه را از برنامه وب آزمایش‌کننده App Distribution بر روی دستگاه آزمایشی خود نصب می‌کنند.

وقتی انتشار 30 روز از تاریخ انقضا می‌گذرد، یک اعلان انقضای انتشار برنامه در نسخه شما در صفحه App Distribution کنسول Firebase و در برنامه وب آزمایش‌کننده App Distribution ظاهر می‌شود.

App Distribution حداکثر از 1000 نسخه را پشتیبانی می کند

App Distribution حداکثر 1000 نسخه در هر برنامه را امکان پذیر می کند. وقتی برنامه شما به محدودیت انتشار 1000 برنامه رسید، App Distribution به‌طور خودکار قدیمی‌ترین نسخه‌های بالاتر از حد مجاز را حذف می‌کند.

اگر می‌خواهید نسخه‌های برنامه خود را به‌صورت دستی مدیریت کنید، از App Distribution REST API برای فهرست کردن و حذف انبوه نسخه‌های برنامه استفاده کنید.

اگر سؤالی دارید، با پشتیبانی Firebase تماس بگیرید.

نمایه Firebase یک نمایه پیکربندی است که به App Distribution اجازه می دهد:

  • دستگاه تست را با جمع آوری شناسه دستگاه منحصر به فرد (UDID) ثبت کنید. اگر در حال آزمایش یک توزیع Ad Hoc هستید، Firebase ایمیلی شامل UDID دستگاه آزمایشی به همراه دستورالعمل‌هایی در مورد نحوه گنجاندن دستگاه در نمایه تهیه برنامه به توسعه‌دهنده برنامه می‌فرستد تا ساختن روی دستگاه شما آزمایش شود.

  • یک کلیپ وب Firebase App Distribution در صفحه اصلی دستگاه خود نصب کنید. کلیپ وب به شما امکان می دهد تمام برنامه های آزمایشی خود را در یک مکان نصب کرده و به آنها دسترسی داشته باشید. ساخت‌های جدیدی که برای آزمایش دعوت شده‌اید به‌طور خودکار به کلیپ وب اضافه می‌شوند.

برای راهنمایی در مورد نصب نمایه های پیکربندی در دستگاه iOS خود، به مستندات Apple مراجعه کنید.

اگر آزمایش‌کننده هستید، می‌توانید با کلیپ وب Firebase App Distribution به همه برنامه‌های آزمایشی خود دسترسی داشته باشید، که با نصب نمایه Firebase به طور خودکار به صفحه اصلی دستگاه آزمایشی شما اضافه می‌شود. اگر در حال آزمایش یک توزیع Ad Hoc هستید، ابتدا باید نمایه را نصب کنید تا بتوانید برنامه را آزمایش کنید.

اگر در حال آزمایش یک توزیع Enterprise هستید، می توانید نمایه را به صورت دستی نصب کنید:

  1. اگر قبلاً این کار را نکرده‌اید، وارد Google شوید و دعوت را بپذیرید.

  2. در بخش تست برنامه‌ها ، برنامه‌ای را که می‌خواهید آزمایش کنید انتخاب کنید.

  3. در سمت راست بالای صفحه برنامه، روی ضربه بزنید.

  4. دستورالعمل های نمایش داده شده را برای نصب نمایه Firebase دنبال کنید.

برای حذف حساب آزمایش‌کننده App Distribution و داده‌های مرتبط با آن، این مراحل را به ترتیب دنبال کنید:

  1. از https://appdistribution.firebase.google.com دیدن کنید و با حساب Google خود وارد شوید.

  2. در بالا سمت راست، روی ( مدیریت حساب ) کلیک کنید

    حذف اکانت

  3. اختیاری: در مجوزهای حساب Google خود، دسترسی از Firebase App Distribution را لغو کنید. توجه داشته باشید که لغو دسترسی بدون حذف حساب App Distribution شما، حساب آزمایشگر یا داده‌های شما را حذف نمی‌کند .