في اليوم الآخر واجهت مهمة تركيب جهاز iPad في OSX 10.14 كمحرك خارجي ، مع القدرة على إجراء عمليات الملفات من وحدة التحكم. لقد وجدت بعض الإرشادات على الإنترنت حول كيفية القيام بذلك باستخدام نظام ملفات ifuse. لسوء الحظ ، لم يخرج أي شيء مع نظام iOS 12. تم إلغاء قفل الجهاز ، وتم السماح بالوصول إلى البيانات ، ولكن على الرغم من ذلك حدث خطأ:
Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device.
هذا المقال مكتوب لتوفير الوقت لأولئك الذين لديهم نفس المشكلة.
يوجد على
github تعليمات لبناء ifuse والتبعيات الرئيسية مباشرة من المصدر في المستودع ، ولكن هذه طريقة مضنية إلى حد ما ، حيث أن التبعيات الرئيسية بها العديد من التبعيات ، ولديها أيضًا إلخ. لذلك ، سوف نستخدم نظام إدارة حزم
Homebrew .
يتم تثبيته باستخدام برنامج نصي على الموقع الخارجي:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
سيتم تنزيل البرنامج النصي نفسه كل ما تحتاجه البيرة ، بما في ذلك أدوات سطر أوامر Xcode. إذا كان يحتاج إلى استخدام OSXFuse ، فيمكن تنزيله من
الموقع أو تثبيته باستخدام الأمر:
brew cask install osxfuse
تحتاج الآن إلى تثبيت التبعيات الرئيسية:
brew uninstall --ignore-dependencies libimobiledevice brew uninstall --ignore-dependencies usbmuxd
هام: إذا كان لديك بالفعل إصدارات مستقرة من libimobiledevice و usbmuxd مثبتة ، فيجب عليك إزالتها وتثبيت إصدارات dev مع مفتاح التبديل --HEAD ، وإلا فسيحدث خطأ عند توصيل الأجهزة بنظام iOS 12.
أخيرًا ، قم بتثبيت iFuse:
brew install ifuse
كل شيء جاهز ، إذا كان هناك جهاز واحد متصلًا ، فيمكنك تثبيته باستخدام الأمر:
ifuse ~/_ifuse_mount_point
حيث
~ / _ifuse_mount_point هو المسار إلى نقطة التحميل.

يمكن لـ Ifuse تحميل نظام ملفات يمكن الوصول إليه بشكل عام (أو الكل إذا كان هناك جذر) ، بالإضافة إلى أدلة التطبيق التي تدعم واجهة برمجة تطبيقات مشاركة الملفات.
إذا كانت هناك عدة أجهزة متصلة ، من أجل اختيار أي جهاز تريد تثبيته ، يجب عليك استخدام مفتاح التبديل -u
ifuse ~/ifuse_mnt -u <UniqueDeviceID>
لمعرفة UniqueDeviceID ، يمكنك استخدام الأمر:
ideviceinfo

للبدء من Spotlight ، يمكنك إنشاء AppleScript وحفظه كتطبيق:
try do shell script "/usr/local/bin/ifuse ~/_ifuse_mount_point" on error errMsg display dialog "ERROR: " & errMsg end try