نحوه خروجی گرفتن ios در فلاتر بدونه امضا و بدونه نیاز به اکانت
یکی از سوالات متداول توسعهدهندگان فلاتر این است که آیا برای انتشار اپلیکیشن در مارکتهای ایرانی iOS حتماً به اکانت دولوپر اپل نیاز داریم یا خیر؟
بر اساس تجربه پروژههای مختلف، اگر هدف شما انتشار اپلیکیشن در برخی مارکتهای ایرانی iOS باشد، در بسیاری از موارد میتوانید بدون داشتن Apple Developer Account و بدون فرآیند امضای نهایی (Code Signing)، خروجی IPA پروژه را دریافت کرده و آن را در اختیار مارکت موردنظر قرار دهید. فرآیند امضا و انتشار نهایی معمولاً توسط خود مارکت انجام میشود.
انواع خروجی در فلاتر
فریمورک Flutter امکان تولید خروجی برای پلتفرمهای مختلف را فراهم میکند:
اندروید (Android)
- فایل APK برای نصب مستقیم روی دستگاه
- فایل AAB برای انتشار در گوگل پلی و سایر مارکتهای اندرویدی
iOS
- فایل IPA برای نصب و انتشار اپلیکیشنهای iPhone و iPad
وب (Web)
- خروجی HTML، CSS و JavaScript برای اجرای برنامه در مرورگر
دسکتاپ (Desktop)
- Windows
- macOS
- Linux
این قابلیت باعث شده فلاتر به یکی از محبوبترین گزینهها برای توسعه اپلیکیشنهای چندسکویی تبدیل شود.
خروجی IPA چیست؟
فایل IPA (iOS App Archive) بسته نهایی اپلیکیشنهای iOS محسوب میشود و نقشی مشابه فایل APK در اندروید دارد. این فایل شامل تمامی منابع، کدها و تنظیمات موردنیاز برای اجرای برنامه روی دستگاههای اپل است.
پس از تولید فایل IPA میتوان:
- اپلیکیشن را روی دستگاههای iOS نصب کرد.
- آن را برای انتشار در مارکتهای مختلف ارسال نمود.
- نسخههای آزمایشی (Test Build) را در اختیار تیم تست قرار داد.
نکته مهم این است که برای انتشار در App Store، فایل IPA باید توسط گواهیهای رسمی اپل امضا (Sign) شود. اما در برخی مارکتهای ایرانی iOS، توسعهدهنده تنها فایل IPA را تحویل میدهد و فرآیند امضا، انتشار و مدیریت گواهیها توسط خود مارکت انجام میشود.
به همین دلیل، توسعهدهندگان فلاتر میتوانند بدون تهیه اکانت Apple Developer، نسخه IPA پروژه را تولید کرده و برای انتشار در این مارکتها آماده کنند.

امضای اپلیکیشن (Code Signing) در iOS چیست؟
امضای اپلیکیشن یا Code Signing یکی از مهمترین مراحل انتشار برنامههای iOS است. در این فرآیند، اپلیکیشن با استفاده از گواهیهای دیجیتالی صادرشده توسط اپل امضا میشود تا هویت توسعهدهنده تأیید شده و از اصالت و امنیت برنامه اطمینان حاصل شود.
به بیان ساده، امضای دیجیتالی به سیستمعامل iOS اعلام میکند که اپلیکیشن توسط یک توسعهدهنده معتبر تولید شده و محتوای آن پس از انتشار تغییر نکرده است. به همین دلیل اپل برای انتشار اپلیکیشن در App Store، استفاده از حساب Apple Developer و گواهیهای رسمی امضا را الزامی کرده است.
در پروژههای معمول iOS، توسعهدهنده باید مراحل ایجاد Certificate، Provisioning Profile و Code Signing را انجام دهد تا فایل IPA آماده انتشار در اپاستور شود.
با این حال، تجربه نشان میدهد که برخی مارکتهای ایرانی iOS فرآیند امضا و انتشار را بهصورت متمرکز مدیریت میکنند. در این حالت توسعهدهنده تنها فایل IPA پروژه را در اختیار مارکت قرار میدهد و مسئولیت امضا، انتشار و مدیریت گواهیها بر عهده مارکت خواهد بود. به همین دلیل در بسیاری از این مارکتها نیازی نیست توسعهدهنده شخصاً اکانت Apple Developer تهیه کرده یا فرآیند Code Signing را انجام دهد.
آموزش گرفتن خروجی IPA بدون امضا در فلاتر
برای دریافت خروجی IPA بدون نیاز به امضای اپلیکیشن، مراحل زیر را انجام دهید:
به فولدر پروژه فلاتر خود بروید و در ترمینال این دو دستور را به ترتیب وارد کنید:
|
1
|
flutter build ios --release --no-codesign |
سپس دستورات زیر را اجرا کنید تا فایل IPA ایجاد شود:
|
1
2
3
4
|
mkdir Payload cp -r /Path_of_your_project/build/ios/iphoneos/Runner.app Payload/zip -r Runner.zip Payloadmv Runner.zip Runner.ipa |
نکته: به جای Path_of_your_project مسیر کامل فولدر پروژه خود را وارد کنید.
پس از اتمام مراحل، یک فایل Runner.ipa در پوشه پروژه خواهید داشت که میتوانید آن را در مارکت مورد نظر آپلود کنید.
گرفتن خروجی IPA امضا شده (Signed IPA) در فلاتر
اگر قصد دارید اپلیکیشن خود را در App Store منتشر کنید یا آن را روی دستگاههای واقعی iOS نصب کنید، باید خروجی Signed IPA دریافت کنید. برای این کار:
ابتدا یک Apple Developer Account تهیه کنید و یک گواهی Signing Certificate و Provisioning Profile در Xcode ایجاد کنید.
سپس در Xcode مسیر Runner > Signing & Capabilities را باز کرده و Team خود را تنظیم کنید.
حالا این دستور را در ترمینال اجرا کنید:
|
1
|
flutter build ipa --release |
این دستور یک فایل IPA امضا شده ایجاد میکند که میتوان آن را روی دستگاههای واقعی نصب کرد یا در App Store منتشر کرد.
نتیجهگیری
در این آموزش، نحوه دریافت خروجی iOS در فلاتر را بررسی کردیم و با تفاوت میان فایلهای IPA امضاشده (Signed) و بدون امضا (Unsigned) آشنا شدیم. همچنین دیدیم که بسته به روش انتشار اپلیکیشن، ممکن است به حساب توسعهدهندگی اپل و فرآیند Code Signing نیاز داشته باشید یا بتوانید تنها فایل IPA را برای انتشار در برخی مارکتهای ایرانی آماده کنید.
درک صحیح فرآیند خروجی گرفتن و امضای اپلیکیشن، یکی از مهارتهای مهم هر توسعهدهنده فلاتر است؛ زیرا در مراحل نهایی توسعه و انتشار محصول نقش تعیینکنندهای دارد. آشنایی با این مفاهیم به شما کمک میکند تا متناسب با نیاز پروژه، بهترین روش انتشار را انتخاب کرده و با اطمینان بیشتری اپلیکیشن خود را در اختیار کاربران قرار دهید.
فلاتر با فراهم کردن امکان توسعه همزمان برای Android، iOS، Web و Desktop، فرآیند تولید و نگهداری نرمافزار را سادهتر کرده است. به همین دلیل بسیاری از شرکتها و توسعهدهندگان حرفهای از فلاتر بهعنوان یکی از قدرتمندترین فریمورکهای توسعه چندسکویی برای ساخت محصولات مدرن و مقیاسپذیر استفاده میکنند.