این مشکل با انتشار OS X El Capitan با حجم حدود ۶ گیگابایت بیشتر به چشم آمد.
حالا من امروز یک ایدهای را آزمایش کردم و خوشبختانه جواب داد، از این طریق میتوان برنامههای Mac App Store را با دانلود منیجر با امکان افزایش تعداد بخشها (و در نتیجه افزایش سرعت) و همینطور با قابلیت pause و resume دانلود کرد و بعد فایل دانلود شده را به Mac App Store تحویل داد.
اگرچه این راهنما انجام این کار را به طور کلی توضیح میدهد، مثالهایش مربوط به OS X El Capitan نسخهٔ 10.11.0 در تاریخ ۱۱ مهر معادل با ۳ اکتبر است، اما منطقا باید بتوانید برای برنامههای دیگر و نسخههای بعدی سیستم عامل مک هم از آن استفاده کنید.
طبعا آدرسهای مثال با کوچکترین تغییر از سوی اپل در زمینه بهروز کردن نسخهٔ El Capitan در فروشگاهش، از کار میافتد و باید خودتان راهنما را بهروز کنید.
لازم به ذکر است که من این مراحل را در یوسمیتی اجرا کردهام، اما در نسخههای پیشین سیستم عامل مک هم نباید تفاوت چندانی وجود داشته باشد.
در آخر اینکه از طولانی بودن مراحل نترسید، طی کردن این مراحل کار چندان دشوار و زمانبری نیست.
هشدار:
- اول یکبار راهنما را بخوانید، اگر همچنان انجام مراحل به نظرتان دشوار است کار را به زمانی واگذار کنید که تجربهٔ بیشتری کسب کرده باشید. من نهایت تلاشم را کردهام که راههای خنثی کردن تغییرات اعمال شده را هم آموزش دهم، اما نمیتوانم تضمین کنم که در صورت اجرای نادرست مراحل دچار مشکل نشوید.
- همچنین نمیتوانم تضمین کنم که اپل روزی جلوی این شیوه را نگیرد، یا به احتمال خیلی ضعیف به خاطر استفاده از دانلود منیجر برای IPهایی که خیلی به سرورش فشار میآورند محدودیت قائل نشود.
مراحل کار:
۱) منوی Debug را در Mac App Store فعال کنید:
-- Terminal را از Applications/Utilities باز کنید و دستور زیر را در آن وارد کنید و کلید return/enter را بزنید:
- کد: انتخاب همهٔ
defaults write com.apple.appstore ShowDebugMenu -bool true
۲) اگر Mac App Store باز است آن را ببندید و مجددا باز کنید. دقت کنید که منوی Debug بعد از Help اضافه شده باشد.
۳) برنامهٔ مورد نظر را از Mac App Store بخرید، یا اگر رایگان است Get را کلیک کنید، بگذارید چند مگابایت اول دانلود شود، سپس دانلود را متوقف کنید.
(توصیه میکنم در برنامهٔ Activity Monitor مصرف شبکه را چک کنید تا مطمئن شوید واقعا دانلود متوقف شده باشد).
۴) از منوی Debug روی Show Download Folder کلیک کنید. مسیر مورد نظر را در فایندر باز میکنید، com.apple.appstore را باز کنید.
۵) فایل manifest.plist را با یک ویرایشگر باز کنید. XCode و ویرایشگر متنی Text Wrangler دو نمونه برنامه هستند که میتوانند این فایلهای plist را به درستی ویرایش کنند.
۶) دنبال یک آدرس کامل باشید که در نهایت به یک فایل pkg منتهی شود. اگر چند برنامه را در لیست دانلود خود دارید چند آدرس پیدا میکنید، مطمئن شوید که این آدرس مربوط به دانلود برنامه مورد نظرتان باشد.
مثلا این آدرس دانلود نسخهٔ نهایی OS X El Capitan تا تاریخ ۱۱ مهر است:
- کد: انتخاب همهٔ
http://osxapps.itunes.apple.com/apple-assets-us-std-000001/Purple3/v4/74/d2/82/74d28291-9db9-7ae2-305d-9b8b3f5fd463/ftk3252456602304584541.pkg
تصویر زیر نمونهای از فایل manifest و آدرس فایل pkg را نشان میدهد:
۷) آدرس دانلود فایل pkg را به یک دانلود منیجر بدهید و بگذارید تا دانلود شود.
(از دانلود این بسته هیجانزده نشوید و سعی نکنید همین الان آن را اجرا کنید، حداقل من که نمیدانم چطور بدون اجرای مراحل بعد میتوان محتوای آن را استخراج کرد).
۸) وقتی دانلود با موفقیت به پایان رسید، دستور زیر را در Terminal وارد کنید و کلید return/enter را بزنید:
- کد: انتخاب همهٔ
cp /etc/hosts ~/Desktop/hosts
(دستور بالا برای احتیاط یک کپی از فایل hosts شما در دسکتاپتان میسازد).
۹) سپس دستور زیر را در ترمینال وارد کنید و کلید return/enter را بزنید:
- کد: انتخاب همهٔ
sudo nano /etc/hosts
- سپس پسوردتان را وارد کنید و کلید return/enter را بزنید.
باید فایل hosts شما در یک ویرایشگر متنی در ترمینال باز شود.
۱۰) در ویرایشگر متنی که در محیط ترمینال در اختیارتان است، با کلیدهای جهت کیبورد به خط آخر بروید، اگر خط آخر دارای نوشته است یک خط جدید اضافه کنید.
مشابه چنین خطی را تایپ کنید:
- کد: انتخاب همهٔ
127.0.0.1 osxapps.itunes.apple.com
مثل تصویر ضمیمه:
اگر آدرس فایل pkg دانلود شده با osxapps.itunes.apple.com شروع نمیشود، به جای آن دامنه و زیردامنهٔ آدرس صحیح خودتان را وارد کنید.
۱۱) بعد از اتمام ویرایش فایل، کلیدهای Ctrl-X را با هم فشار دهید، سپس کلید y را بزنید و در نهایت enter/return را فشار دهید تا فایل hosts ذخیره شود.
۱۲) حالا باید یک وب سرور، مثلا آپاچی روی مک خودتان راهاندازی کنید.
نسخههای پیشین OS X این امکان را با یک کلیک در System Preferences->Sharing->Web Sharing فراهم میکردند، اما در یوسمیتی مجبوریم برای راهاندازی آپاچی به Terminal مراجعه کنیم، با وارد کردن دستور زیر و زدن کلید enter/return:
- کد: انتخاب همهٔ
sudo apachectl start
- از شما پسورد کاربرتان را میپرسد، وارد کنید و کلید enter/return را فشار دهید.
۱۳) حالا که آپاچی اجرا شده است، در فایندر به مسیر زیر بروید:
- کد: انتخاب همهٔ
/Library/WebServer/Documents
تذکر ۱ : Library اصلی/مشترک مد نظر است، نه Library کاربر شما.
تذکر ۲: هر فایلی در مسیر بالا قرار دهید از 127.0.0.1 در دسترس خواهد بود.
۱۴) حالا باید عین مسیری که سرور اپل داشته است را در اینجا بسازید، یعنی مثلا برای آدرس زیر:
- کد: انتخاب همهٔ
http://osxapps.itunes.apple.com/apple-assets-us-std-000001/Purple3/v4/74/d2/82/74d28291-9db9-7ae2-305d-9b8b3f5fd463/ftk3252456602304584541.pkg
باید اول یک پوشه با عنوان apple-assets-us-std-000001 بسازید، بعد داخل آن یک پوشه با عنوان Purple3، داخل آن پوشهٔ v4 و الی آخر.
۱۵) فایل pkg دانلود شده را به آخرین بخش مسیری که در بالا ساختید کپی کنید یا انتقال دهید، در مثال ما چنین مسیری خواهد بود:
- کد: انتخاب همهٔ
/Library/WebServer/Documents/apple-assets-us-std-000001/Purple3/v4/74/d2/82/74d28291-9db9-7ae2-305d-9b8b3f5fd463
۱۶) مطمئن شوید که در ساخت پوشهها اشتباه نکرده باشید، برای اطمینان تست زیر را اجرا کنید:
-- آدرس اصلی فایل pkg را که در سرور اپل بود در مرورگرتان وارد کنید.
-- چک کنید که آیا با سرعت بسیار بالا و بدون استفاده از شبکه در حال دانلود است یا خیر.
اگر آدرس درست بود و دانلود با سرعت بسیار بالا شروع شد، لازم نیست تا انتها صبر کنید، میتوانید دانلود را متوقف کنید.
۱۷) حالا با خیال راحت به Mac App Store بروید و دکمه Resume را برای ادامهٔ دانلود برنامهٔ مورد نظر کلیک کنید.
اگر همه مراحل با موفقیت طی شده باشد، در عرض چند ثانیه تا چند دقیقه این دانلود صوری از روی دستگاه خودتان انجام میشود و Mac App Store دانلود و نصب موفقیت آمیز برنامه را انجام میدهد!
(مثلا اگر El Capitan را دانلود کرده باشید، میتوانید در پوشهٔ Applications موردی با عنوان Install OS X El Capitan پیدا کنید).
بعد از موفقیت:
- بعد از انجام مراحل بالا دیگر نیازی به وب سرور ندارید، آپاچی را با دستور زیر در ترمینال متوقف کنید:
- کد: انتخاب همهٔ
sudo apachectl stop
(طبعا مانند سایر دستورهایی که با sudo آغاز میشوند نیاز به پسورد دارد).
- وقتی که عملیات در Mac App Store با موفقیت تمام شد و برنامه نصب شد، باید فایل hosts را به حالت قبلی برگردانید.
-- یک راه این است که نسخهٔ کپی آن را از دسکتاپ به etc کپی کنید، مثلا با فایندر، یا ترمینال:
- کد: انتخاب همهٔ
sudo cp ~/Desktop/hosts /etc/hosts
--راه دیگر این است که دوباره آن را با ویرایشگر nano باز کنید:
- کد: انتخاب همهٔ
sudo nano /etc/hosts
و خطی که خودتان اضافه کرده بودید را از انتهای آن پاک کنید.
توضیحات:
- اگر از انجام مراحل متوجه نشدید، کار ما این است که فایل را با دانلود منیجر دانلود میکنیم، بعد یک وب سرور روی دستگاهمان راه میاندازیم و با کمک فایل hosts از Mac App Store میخواهیم که فایل را به جای دانلود از اینترنت، از دستگاه خودمان بخواند. طبعا با این کار به جای دانلود واقعی، یک کپی از فایل دانلود شده مجددا توسط Mac App Store ایجاد میشود.
- ممکن است این شیوه برای تمام برنامهها جواب ندهد، در بعضی موارد وقتی آدرس مستقیم یک فایل pkg را از manifest.plist دریافت میکنید و آن آدرس را به دانلود منیجر میدهید، خطای ۴۰۳ دریافت میکنید.
امتحان کردم و آدرس iBooks Author پیغام خطا میداد:
- کد: انتخاب همهٔ
http://a1009.phobos.apple.com/us/r1000/139/Purple69/v4/7c/65/29/7c652909-b777-6ff4-8a4c-c74b03723eaf/ohl2653419720142427661.pkg
بخش اول آدرس را به osxapps.itunes.apple.com تغییر دادم و دانلود شروع شد:
- کد: انتخاب همهٔ
http://osxapps.itunes.apple.com/apple-assets-us-std-000001/Purple69/v4/7c/65/29/7c652909-b777-6ff4-8a4c-c74b03723eaf/ohl2653419720142427661.pkg
طبعا حالا باید در فایل hosts این آدرس a1009.phobos.apple.com را به جای osxapps.itunes.apple.com قرار دهم، چون درست است که من از آدرس دوم گرفتهام، اما Mac App Store از آدرس اول میخواهد فایل را بگیرد.
امتحان کردم و iBook Author با موفقیت نصب شد!