بامداد ۷ مهر ۱۴۰۵، شمار زیادی از اپهای منتشرشده iOS بدون هیچ بهروزرسانیای هنگام اجرا بسته شدند. مشکل از کد آنها نبود.
در همه گزارشها یک خطا تکرار میشد: NSInvalidArgumentException با پیام «-[__NSDictionaryM setObject:forKeyedSubscript:]: key cannot be nil».
کرش دقیقاً هنگام پردازش پاسخ سرویس sdk-exp در APMETaskManager رخ میداد؛ سرور یک پیکربندی با قالب نادرست و کلید خالی میفرستاد.
گزارش اولیه SDK نسخه 12.14.0 را نام میبرد، اما همان کرش روی نسخههای 10.29.0 تا 12.17.0 هم دیده شد. یعنی مشکل سمت سرور بود.
شروع: ۲۸ سپتامبر ساعت ۱۷:۴۱ US/PDT. تکمیل اصلاحیه: ۱۹:۵۲ همان روز. رفع کامل: ۲۳:۵۲؛ مجموعاً شش ساعت و یازده دقیقه.
گوگل پیکربندی sdk-exp را بازگرداند و اعلام کرد هیچ بهروزرسانی SDK لازم نیست. کشهای قدیمی تا چهار ساعت بعد هنوز کرش میساختند.
هر SDK شخصثالثی که پیکربندیاش را از سرور میگیرد، یک وابستگی زماناجراست: پارس کرشناپذیر، انتشار تدریجی و کلید قطع لازم دارد.
خط زمانی رسمی گوگل، امضای دقیق کرش، پاسخ تیم Firebase و سه درس عملی برای توسعهدهندهها، در گزارش کامل DevNA.
کرش اپلیکیشنهای iOS با Firebase از یک پاسخ نادرست سرویس sdk-exp گوگل ریشه گرفت؛ اپهای منتشرشده هنگام اجرا بسته شدند و گوگل مشکل را کاملاً سمت سرور رفع کرد.