Cozy wooden workspace with a laptop, desk lamp, and plants

Photo by Samule Sun on Unsplash

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

اجازه بدید برگردیم به شروع ماجرا، یعنی حدود یک سال و نیم پیش، وقتی که اپل به خاطر قوانین تحریم آمریکا علیه ایران، اپلیکیشن‌های کسب‌و‌کارهای ایرانی رو صرفاً به خاطر ایرانی بودن از App Store حذف کرد. طبیعتاً شرکت‌ها به همین سادگی حاضر نبودند که بخش قابل‌توجهی از کاربرهاشون رو از دست بدند. برای همین شروع کردند به گشتن دنبال راه‌حل جایگزین. قبل از این که به ادامه‌ی تاریخچه‌ی iOS در ایران بپردازیم، لازمه کمی درباره‌ی iOS و محدودیت‌هاش توضیح بدیم.

یک دیوایس iOS جیلبریک‌نشده، فقط در صورتی اجازه‌ی باز شدن و اجرای یک اپ رو می‌ده که اون اپ یا توسط اپل یا توسط شخص ثالثی که اپل تاییدش کرده باشه به صورت دیجیتالی امضا شده باشه. طبیعتاً امضاهای خود اپل به طور پیش‌فرض روی دیوایس هست و وقتی اپل خودش اپی رو امضا کرده باشه، بدون نیاز به کاری توسط کاربر، اپ اجرا می‌شه. اپ‌هایی که شما از App Store دانلود می‌کنید به همین طریق امضا می‌شن. وقتی توسعه‌دهنده، اپ رو با امضای دیجیتالی خودش به App Store آپلود می‌کنه، اپل از اون امضا فقط برای احراز هویت توسعه‌دهنده استفاده می‌کنه و وقتی مطمئن شد که کسی خودش رو به جای توسعه‌دهنده جا نزده، امضای توسعه‌دهنده رو از روی اپ برمی‌داره، امضای خودش رو روی اپ می‌زنه و اون رو در App Store قرار می‌ده.

اما App Store نیاز یک سری شرکت‌ها رو برآورده نمی‌کنه. به عنوان مثال یک ایرلاین می‌خواد برای مهماندارهاش یک اپ مخصوص تهیه کنه که در طول پرواز استفاده کنند. مشخصه که نیازی نیست این اپ رو روی App Store بذاره. در نتیجه اپل راه دومی برای انتشار اپ در نظر گرفته که اصطلاحاً بهش روش «شرکتی» یا Enterprise گفته می‌شه. در این روش، توسعه‌دهنده باید همه‌ی سرویس‌هایی که App Store فراهم می‌کنه رو خودش پیاده‌سازی کنه. یعنی دیگه App Store امضای دیجیتالی اپ شما رو مدیریت نمی‌کنه و توسعه‌دهنده باید خودش همه‌ی این کارا رو انجام بده. اپی که در نهایت به دست کاربر می‌رسه، به جای امضای دیجیتالی اپل، امضای دیجیتالی توسعه‌دهنده روشه، به همین دلیله که وقتی می‌خواید یه اپ Enterprise رو باز کنید، با خطای Untrusted Enterprise Developer مواجه می‌شه و باید صراحتاً به iOS بگید که به این توسعه‌دهنده اعتماد دارید (اصطلاحاً توسعه‌دهنده رو Trust کنید) تا اون اپ روی دیوایس اجرا شه. البته انتشار اپلیکیشن iOS روش‌های دیگه‌ای هم داره، مثل Ad Hoc، که خیلی محدودند و برای انتشار اپ به صورت عمومی مناسب نیستند و از توضیح اون‌ها می‌گذریم.

نکته‌ی دیگه‌ای که باید بهش دقت کنیم، اینه که اپ‌هایی که در App Store منتشر می‌شن، توسط اپل بازبینی می‌شن تا حداقلی از استانداردها رو رعایت کنن. مثلاً از اطلاعات شخصی کاربر سوءاستفاده نکنن، از لحاظ طراحی با قواعدی که اپل در نظر گرفته در تضاد نباشن یا محتوای مستهجن نداشته باشن. اما اپ‌هایی که با روش Enterprise منتشر می‌شن از این مرحله رد نمی‌شن و یک توسعه‌دهنده‌ی خراب‌کار می‌تونه از این موضوع سوءاستفاده کنه.

استفاده‌کنندگان از روش Enterprise رو می‌شه به چند دسته تقسیم کرد:

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

تا چند وقت پیش و قبل از این که اپل یک‌شبه کلی اکانت Enterprise رو ببنده، اپل کاری به توسعه‌دهندگانی که از روش Enterprise سوءاستفاده می‌کردند نداشت. به نظر من، این‌طور نبود که اپل ندونه که داره از این روش سوءاستفاده می‌شه، بلکه خودش رو می‌زد به ندیدن. چون بلافاصله پس از نصب یک اپ، iOS به کمک یک Web Service از اپل می‌پرسه که آیا این اپ اجازه‌ی اجرا روی دیوایس رو داره یا نه. (توضیح کمی فنی‌تر: مثلاً این که Provisioning Profile معتبری در اپ هست یا نه.) و اپل خیلی راحت می‌تونه ببینه که از چه بازه‌ی IP داره برای چه اپ‌هایی درخواست میاد. خیلی مشخصه که برای اپ‌های با تعداد کاربر بالا، مثل اسنپ یا دیجی‌کالا، تعداد این ریکوئست‌ها اون‌قدری بالاست که مشخص بشه این اپ‌ها برای استفاده‌ی کارمندان یک شرکت نیستند و عرضه‌ی عمومی شده‌ند. به فرض این که بگیم بستن یک اکانت با این روش ممکنه برای اپل مشکلات قانونی پیش بیاره، باز هم اپل می‌تونست ثبت نام شرکت‌ها رو در این روش بیشتر کنترل کنه یا برای اپ‌های Enterprise هم App Review بذاره، اما هیچ‌کدوم از این کارها رو نکرده. حالا باید دید که چرا اپل چشم خودش رو تا الان روی این موضوع بسته بود.

بیشتر مخاطبان اپ‌های کرک‌شده در دنیا، کاربران چینی آیفون هستند. همچنین بازار چین برای اپل یک بازار بسیار بزرگ به حساب میاد. چین به قدری برای اپل پول میاره که در سه‌ماهه‌ی اول ۲۰۱۹، به خاطر کاهش فروش آیفون در چین، اپل حدوداً ۷ میلیارد دلار درآمد کمتری از پیش‌بینی‌هاش داشت. ۷ میلیارد دلار. همچنین در چین، مثل ایران، فرهنگ پول دادن برای محتوای پولی وجود نداره. شما تو ایران اگر بگی برای دانلود فلان فیلم پول دادم، اکثر آدمای اطرافتون شما رو مسخره می‌کنن و می‌گن به راحتی می‌تونستید از تورنت یا سایت‌های مختلف به صورت مجانی اون فیلم رو دانلود کنید. (البته سوءبرداشت به بی‌فرهنگی ایرانی‌ها یا چینی‌ها نشه، نکته‌ی مهم فشار قانونی در اروپا به مصرف‌کنندگان محتوای Pirate شده ست که باعث شده این فرهنگ در اروپا وجود نداشته باشه، وگرنه مطمئن باشید اگر در ایران هم برای دانلود محتوای کرک‌شده یک نامه‌ی تهدیدآمیز از پلیس میومد که اگر یه دفعه‌ی دیگه از این چیزا دانلود کنی اینترنتت رو قطع می‌کنیم، تو ایران هم کسی جرئت نمی‌کرد.)

مطمئناً برای اپل هیچ کاری نداره که جلوی سوءاستفاده از انتشار Enterprise رو بگیره، اما به نظر من با این کار، بخشی از مشتری‌های آیفون رو از دست می‌ده. درسته که اپل به طور رسمی در ایران فعالیت نمی‌کنه، اما بدون شک تا سنت آخر آیفون‌هایی که در ایران به فروش می‌رسن رو می‌شمره و روی فروش‌شون حساب می‌کنه. طبق آمارهای غیررسمی، فروش آیفون تو هفته‌ی بعد از بسته شدن اکانت‌های شرکت‌های ایرانی کاهش قابل‌توجهی داشته. همین موضوع برای بازار چین هم صادقه، منتها در مقیاسی خیلی خیلی وسیع‌تر. سوالی که پیش میاد اینه که پس چرا یک‌باره اپل تصمیم گرفت این اکانت‌ها رو ببنده، چون حدود دو سوم درامد اپل از فروش آیفونه.

فروش آیفون و آیپد: ۷۰٪ درامد اپل تو سه‌ماهه‌ی اول ۲۰۱۹

ماجرا از سوءاستفاده‌ی فیسبوک و گوگل از این روش شروع شد. هر دو با دادن پول، کاربران رو ترغیب می‌کردند که اپ‌های Enterpriseـی نصب کنند که به خاطر نبودن App Review اقدام به مونیتور کردن ترافیک شبکه می‌کردند. وقتی این موضوع تو اخبار اومد و داغ شد، خبرنگارهای زیادی رفتند دنبال این که ببینند آیا از این روش جای دیگه‌ای هم سوءاستفاده می‌شه یا نه. جای غافل‌گیری نبود که جواب یک کلمه بود: چین. اپل هم که تو چند سال اخیر نشون داده نسبت به اخبار خیلی حساسه، یک‌شبه تعداد زیادی اکانت رو بست تا نشون بده این موضوع براش مهمه تا آب‌ها از آسیاب بیفته، این اخبار جذابیتش رو از دست بده و همه‌چی برگرده به روال سابق.

خلاصه‌ی این داستان‌ها اینه که بستن اکانت‌هایی که از روش Enterprise سوءاستفاده می‌کنن برای اپل خیلی آسونه، جلوگیری از ادامه‌ی فعالیت‌شون هم همین‌طور، اما به نظر من اپل تمایلی به این کار نداره، چون این کار باعث کاهش فروش آیفون می‌شه. در نتیجه پیش‌بینی من اینه که اپل دوباره برمی‌گرده به روالِ سابقِ چشم‌پوشی از سوءاستفاده‌هایی که از روش Enterprise می‌شه و شاید هر چند وقت یک بار، تعدادی اکانت رو ببنده تا نشون بده که این موضوع براش مهمه.


من بهدادم، تیم لید iOS اسنپ. اگر این‌جور مسائل براتون جذابه رزومه‌تون رو به صفحه‌ی فرصت‌های شغلی اسنپ بفرستید، خوشحال می‌شیم تو تیم‌مون ببینیم‌تون.

تو توییتر هم می‌تونید پیدام کنید: behdaaad@