اومدم چند کلمه ای بنویسم زود برم. گیتهابم Github.com/iw4p
پروسه ساین اپلیکیشن iOS
من معمولا از ویرگول برای یادداشتهای خودم استفاده میکنم یه جورایی و این هم یه یادداشته :)) از بس که حافظهام ضعیفه :)) پس احتمال ۹۹ درصد به دردتون نمیخوره.
اگه بخوام بگم mobileprovision و p12 یه جورایی حیاتیتر از entitlement هستن.
ما با یک private key و public key سر و کار داریم
private key میشه گفت signature عه که اپلیکیشن unsigned ایی که داریم باهاش sign میشه.
public key یه جورایی signature checker محسوب میشه و باهاش اپلیکیشن verify میشه.
خب این دوتا key از کجا میان؟ چی هستن اصلا؟
وقتی شما CSR میکنی به اپل (که Public Key هم شاملش هست)، اطلاعات شخصی و ... ساین میشه توسط Private Key، بعد اپل از Public key توی CSR استفاده میکنه تا بفهمه CSR ایی که میاد از سمت تو هست یا نه (قبل از این که certificate رو براتون صادر کنه که شامل Public Key هست)
حالا از اپل دوتا کادوی ناقابل داریم:
- یک فایل certificate که شامل Public Key عه
- و Private Key
حالا فایل p12 اینجا وارد عمل میشه و Private Key رو به همراه Certificate تبدیل به یه بسته میکنه و به یه فایل تبدیلشون میکنه.
حالا وقتی اپلیکیشن ساین میشه فایل P12 از اپلیکیشن جدا میشه.
چون Private key فقط برای ساین کردن اپلیکیشن هاست، درحالی که Certificate اومده embed شده توی اپلیکیشن که حالا به کمک Public key دیوایس میتونه تشخیص بده اپلیکیشن معتبره یا نه.
حالا نقش Provision profile چیه؟ این یه جورایی Permission policy عه که اجازه میده دستگاه های خاصی، اپلیکیشن های خاصی رو اجرا کنن و دو نوع داره: Ad hoc و AppStore
توی اد هاک این پروفایل اجازه میده اپتو به تستر بدی و و گارانتی میشه که فقط و فقط شخص تعیین شده میتونه اپ رو verify و ران کنه. یعنی حتی اگه اپ به بیرون درز کنه و به اصطلاح Leak شه نمیتونه با اون امضا و پروفایل روی دیوایس دیگه ای ران شه.
پروفایل شامل چیه؟ پروفایل برای کار کردن دو تا چیز لازمه که داشته باشه:
- App ID
اپلیکیشن آیدی همون باندل هست که اپ ها رو از هم جدا و تفکیک میکنه و معمولا ریورس یه دامین هست مثل com.x.y
- Device ID
دیوایس آیدی همون UDID هست که یک چیزی مثل سریال نامبر دیوایس شماست که دیوایس شما رو از بقیه تفکیک میکنه
با این دوتا اطلاعات پروفایل کارش راه میفته و میتونه اجازه بده که چه دیوایس هایی با چه اپ هایی کار کنن.
فایل Entitlements هم چیز سختی نیست، یک Plist عه که میتونی با مشخص کردن پراپرتیهاش فیچر های اپلیکیشن رو تعیین کنی
مطلبی دیگر از این انتشارات
معرفی جدیدترین ساعت های هوشمند اپل| اپل واچ 6 و SE
مطلبی دیگر از این انتشارات
شجاعت ساختار شکنانه اپل در مسیر جدید طراحی محصولاتش
مطلبی دیگر از این انتشارات
کدام استور iOS بهتر است؟ اناردونی یا سیب اپ یا سیبچه؟