Libimobiledevice: idevice_id - قائمة بإرجاع أجهزة iPhone غير المتصلة عبر USB

تم إنشاؤها على ٢ ديسمبر ٢٠١٤  ·  21تعليقات  ·  مصدر: libimobiledevice/libimobiledevice

لست متأكدًا مما إذا كان هذا سلوكًا متوقعًا أم لا.

لدي اختبارات rspec التي تستهدف الأجهزة المادية. جزء من إعداد الاختبار هو إعادة تثبيت ملف .ipa على الأجهزة المستهدفة (التجريبية).

قبل Xcode 6 ، سألت instruments عن قائمة الأجهزة المتصلة.

$ xcrun instruments -s devices

بدءًا من Xcode 6 ، تظهر أجهزة iOS 8 الموجودة على الشبكة المحلية على أنها متاحة لاختبار أتمتة UIA. ومع ذلك ، لا يمكن لـ ideviceinstaller تثبيت ملف .ipa عبر الشبكة.

حتى الإصدار الأخير من libimobiledevice ، تمكنت فقط من العثور على تلك الأجهزة المتصلة عبر USB باستخدام idevice_id --list .

بعد التحديث إلى 1.1.7 ، بدأت في رؤية الأجهزة غير المتصلة عبر USB تظهر في إخراج idevice_id --list .

إعدادات

  • نظام التشغيل MacOS 10.10.1
  • Xcode 6.1.1
  • libimobiledevice toolchain الإصدار 1.1.7

الجهاز المخالف هو iOS 8.1.1.

إعادة إنتاج

  1. قم بتشغيل جهاز iOS 8.1.1 ، لكن لا تقم بتوصيله عبر USB.
  2. $ idevice_id --list

    متوقع

يظهر UDID الخاص بالجهاز _not_ في قائمة الأجهزة التي تم الإبلاغ عنها بواسطة idevice_id --list .

وجدت

يظهر UDID الخاص بالجهاز.

ملاحظات

من حين لآخر ، يظهر جهاز iOS 8.1.1 2x في الإخراج:

$ idevice_id -l
43be < snip > 91124
89b5 < snip > 0ab7b
43be < snip > 91124
OS X bug enhancement

التعليق الأكثر فائدة

يرجى تقديم حجة للسماح / عدم السماح بعرض الأجهزة اللاسلكية

ال 21 كومينتر

سيكون من المفيد أن أحصل على تأكيد للسلوك المتوقع. هل من المتوقع أن يؤدي idevice_id --list إلى إرجاع الأجهزة غير المتصلة عبر USB؟

لا ، هذا السلوك غير متوقع في الواقع. يجب أن يمنحك idevice_id --list فقط تلك الأجهزة التي تم توفيرها بواسطة usbmuxd. كما يجب ألا يظهر الجهاز أكثر من مرة. أنا أستخدم OSX 10.10.1 أيضًا ولا أرى حدوث ذلك. هل تم تمكين iTunes WiFi Sync على الجهاز (الأجهزة)؟

تضمين التغريدة

هل تم تمكين iTunes WiFi Sync على الجهاز (الأجهزة)؟

لا.

شكرا على الرد. أنا أقوم بتضييق نطاق القضايا. حصلت على موزع USB جديد واستمرت المشكلة.

أعاني من حالة سيئة عندما أقوم بتوصيل أو فصل جهاز.

يقوم سجل وحدة التحكم بإخراج بعض أخطاء com.apple.usbmuxd التي أحاول تحليلها.

أعدت البناء من المصادر. في السابق ، كنت أستخدم حزمة البيرة المنزلية.

لدي 3 أجهزة متصلة بجهازي عبر USB: iOS 6 و iOS 7 و iOS 8.

أعدت تشغيل جهاز الكمبيوتر الخاص بي ووجدت هذا الإخراج:

$ idevice_id -l
43 < snip > 24 iOS 7
82 < snip> 0c iOS 6
19 < snip > 0d iOS 8

ايهم صحيح؛ هذه الأجهزة الثلاثة متصلة بجهازي عبر USB.

بعد ذلك مباشرة ، قمت بتشغيل الأمر مرة أخرى ووجدت:

$ idevice_id -l
44 < snip > db  iOS 8; connected to another machine
6c < snip > e2  iOS 8; connected to another machine
43 < snip > 24 iOS 7
82 < snip> 0c iOS 6
19 < snip > 0d iOS 8

يوجد بالفعل 4 أجهزة متصلة بالجهاز الآخر ؛ 2 تظهر و 2 لا. أحد الأجهزة المفقودة هو iOS 7 والآخر هو iOS 8.

إذا قمت بتشغيل الأمر مرة أخرى ، فسوف أبدأ في رؤية إدخالات مكررة للأجهزة:

### Reordered for clarity
$ idevice_id -l
44 < snip > db  iOS 8; connected to another machine
44 < snip > db  iOS 8; connected to another machine
43 < snip > 24 iOS 7
43 < snip > 24 iOS 7
6c < snip > e2  iOS 8; connected to another machine
82 < snip> 0c iOS 6
19 < snip > 0d iOS 8

في سجل النظام ، أرى رسائل مثل هذه:

com.apple.usbmuxd[55]: _SendAttachNotification Device f0: < snip > :d785._apple-mobdev2._tcp.local. has already appeared on interface 4. Suppressing duplicate attach notification.

لعدة أجهزة بعضها متصل عبر USB والبعض الآخر لا.

أعدت التشغيل وتمكنت من التفاعل مع جهاز به مشكلة لمدة 15 دقيقة تقريبًا ثم توقف عن الاستجابة لـ ideviceinstaller. قمت بفصله وتشغيل idevice_id -l ووجدت:

$ idevice_id --list
44 < snip > db iOS 7 device; not connected by USB

سجلات الجهاز المضيف

com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x1003228f0-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x100509c10-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x10063b490-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x100325690-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x10063b490-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x100523be0-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x10052a5b0-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x100411bc0-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x10063b490-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3
com.apple.usbmuxd[55]: SCEDeviceSocketCallback 0x100509c10-libusbmuxd/org.libimobiledevice.usbmuxd remote peer closed connection for sce 0x100509c10.

سجلات الجهاز

lockdownd[53] <Notice>: 00295000 -[watchedServiceInfo logService:]: first service <watchedServiceInfo: 0x14609290> [client=ideviceinstaller (DF < snip > 04 fe80::c < snip > 9:37066)] [fd=12] [pid=101 (notification_proxy fd=6)] [hb=47708631116]
lockdownd[53] <Notice>: 00295000 -[watchedServiceInfo logService:]: Watching <watchedServiceInfo: 0x14609290> [client=ideviceinstaller (DF < snip > 04 fe80::c < snip > 9:37066)] [fd=12] [pid=101 (notification_proxy fd=6)] [hb=47708631116]
lockdownd[53] <Notice>: 01a57000 -[hostWatcher runWatcher]: starting loop for <hostWatcher: 0x145198d0> [DF < snip > 04 fe80::c <snip > 9:31434] [fd=17]
wifid[15] <Notice>: WiFi:[439779048.885338]: External power source removed
lockdownd[53] <Notice>: 3aee018c _bump_connection_count: connectionCount now 13 usbHostConnected false pairableHostConnected false unpairedPtpAllowed false
lockdownd[53] <Notice>: 3aee018c _bump_connection_count: connectionCount now 14 usbHostConnected false pairableHostConnected false unpairedPtpAllowed false
ptpd[135] <Notice>: PTP interface has been deactivated.
kernel[0] <Debug>: AppleD2018PMUPowerSource: AppleUSBCableDetect 0
kernel[0] <Debug>: AppleD2018PMUPowerSource: AppleUSBCableType Detached
kernel[0] <Debug>: virtual IOReturn AppleUSBDeviceMux::message(UInt32, IOService *, void *) - kMessageInterfaceWasDeActivated
kernel[0] <Debug>: AppleUSBDeviceMux::reportStats: USB mux statistics: 
kernel[0] <Debug>: USB mux: 6512 reads / 0 errors, 10377 writes / 0 errors
kernel[0] <Debug>: USB mux: 0 short packets, 0 dups
lockdownd[53] <Notice>: 00201000 -[watchedServiceInfo logService:]: Freeing heartbeat <watchedServiceInfo: 0x14609290> [client=ideviceinstaller (DF < snip > 04 fe80::c < snip > 9:37066)] [fd=12] [pid=101 (notification_proxy fd=6)] [hb=47708631116]
lockdownd[53] <Notice>: 00201000 -[watchedServiceInfo logService:]: last service <watchedServiceInfo: 0x14609290> [client=ideviceinstaller (DF < snip > 04 fe80::c < snip > 9:37066)] [fd=12] [pid=101 (notification_proxy fd=6)] [hb=47708631116]
lockdownd[53] <Notice>: 01a57000 -[hostWatcher runWatcher]: ended loop for <hostWatcher: 0x145198d0> [DF < snip > 04 fe80::c <snip > 9:31434] [fd=17]
lockdownd[53] <Notice>: 00201000 -[watchedServiceInfo logService:]: dealloc <watchedServiceInfo: 0x14609290> [client=ideviceinstaller (DF < snip > 04 fe80::c < snip > 9:37066)] [fd=12] [pid=101 (notification_proxy fd=6)] [hb=47708631116]
lockdownd[53] <Notice>: 00295000 -[watchedServiceInfo logService:]: first service <watchedServiceInfo: 0x1451b9c0> [client=ideviceinstaller (DF < snip > 04 fe80::c < snip > 9:38858)] [fd=12] [pid=101 (notification_proxy fd=5)] [hb=48298510881]
lockdownd[53] <Notice>: 00295000 -[watchedServiceInfo logService:]: Watching <watchedServiceInfo: 0x1451b9c0> [client=ideviceinstaller (DF < snip > 04 fe80::c < snip > 9:38858)] [fd=12] [pid=101 (notification_proxy fd=5)] [hb=48298510881]
lockdownd[53] <Notice>: 01a57000 -[hostWatcher runWatcher]: starting loop for <hostWatcher: 0x145198d0> [DF < snip > 04 fe80::c <snip > 9:31434] [fd=17]
lockdownd[53] <Notice>: 00201000 _select_socket: receive secure message timeout!

هل هذه السجلات مفيدة؟ هل من الغريب أن ideviceinstaller يحاول الاتصال عندما يكون الجهاز _unplugged_؟ لم يتم إحباط عملية ideviceinstaller ؛ انها فقط معلقة.

لقد قمت بتوصيل الجهاز مرة أخرى ووجدت:

$ idevice_id --list
44 < snip > db
44 < snip > db

ثم قمت بإيقاف تشغيل الجهاز ووجدت:

$ idevice_id --list
44 < snip > db

### Log
com.apple.usbmuxd[55]: HandleUSBMuxDictionary client 0x100509c10-libusbmuxd/org.libimobiledevice.usbmuxd using library usbmuxd built for freedom, running usbmuxd-344.3

على عكس تجربة Nikias ، أرى الأجهزة اللاسلكية مدرجة بـ idevice_id ، وإذا تم توصيل الجهاز أيضًا بـ USB ، فسيتم إدراجه مرتين. لقد رأيت هذا مع Mavericks و Yosemite (وربما Mountain Lion ، لكنني لا أتذكر على وجه التحديد) ، مع الأجهزة التي تعمل بنظام التشغيل iOS 6 و 7 و 8. الأجهزة تأتي وتذهب ولم أحاول العثور على نمط ، غير ذلك من ملاحظة أن تعطيل WiFi على الجهاز سيؤدي بالتأكيد إلى إزالة الجهاز المكرر.

لقد فكرت في كشف نوع الاتصال عبر idevice_t ، أو على الأقل السماح بطلب اتصال لطلب USB فقط ، نظرًا لأن اتصال WiFi أبطأ بكثير وأقل استقرارًا من اتصال USB.

هذه بالفعل أجهزة متصلة بشبكة Wifi. الوظيفة وراءها هي "iTunes Wifi Sync".
سنضيف بعض التعليمات البرمجية لتخطي هذه عند التكرار ولكنها تتطلب تنفيذ بعض أوامر usbmux الداخلية. لتأكيد هذا الخطأ.

الوظيفة وراءها هي "iTunes Wifi Sync".

هل سيحدث هذا إذا لم يتم تمكين Wifi Sync للجهاز؟ لقد تم تعطيل جميع عمليات المزامنة لهذه الأجهزة.

على الأرجح بقدر ما أتذكر. هذا لأن اكتشاف الجهاز لا يحتاج حقًا إلى تمكين Wifi Sync. طالما أنك أعددت مزامنة Wifi من قبل ، فقد يتم إدراجها. حاول تعطيل Wifi الخاص بك ومعرفة ما إذا كانت الأجهزة لا تزال تظهر. ؛)

ربما تتعلق بـ libimobiledevice / libusbmuxd # 22.

حاول تعطيل Wifi الخاص بك ومعرفة ما إذا كانت الأجهزة لا تزال تظهر. ؛)

يظهر الجهاز مرة واحدة فقط بعد إيقاف تشغيل WiFi.

هذا يسبب مشاكل مع ideviceinstaller . إذا كان الجهاز في قائمة 2x ، فلا يمكن تثبيت ideviceinstaller.

حاول تعطيل Wifi الخاص بك ومعرفة ما إذا كانت الأجهزة لا تزال تظهر. ؛)

يظهر الجهاز مرة واحدة فقط بعد إيقاف تشغيل WiFi.

تكلم في وقت مبكر جدا. يظهر الجهاز حتى إذا لم يكن متصلاً عبر WiFi

اتصال WiFi غير مستقر وقد يكون USBmuxd من Apple قد قام بتخزين جهاز قديم متصل بشبكة WiFi للتغلب على انقطاع الاتصال. ربما يكون هذا هو السبب وراء استمرار رؤية بعض الأجهزة على الرغم من إيقاف تشغيل WiFi.

كما يمكنك أن تتخيل ، ليس من المنطقي أن يظل جهازك يعمل عندما لا يتم توصيله بواسطة USB أو WiFi.

على أي حال ، هذه ميزة غير معالجة يجب إصلاحها في libusbmuxd والتي تحتاج إلى تعلم تخطي الأجهزة مع خاصية نوع الاتصال "الشبكة".

وهكذا يؤكد هذا نسخة مكررة من libimobiledevice / libusbmuxd رقم 22 (انظر تذكرة ذات الصلة لكحل مؤقت، أيضا).

من المحتمل أن نقوم بإصلاحه بشكل صحيح قريبًا في libusbmuxd دون تنفيذ دعم WiFi حتى الآن.

أنا شخصياً أحب قدرة libimobiledevice على الاتصال بالأجهزة لاسلكيًا: أستخدمها لتصحيح أخطاء دورات النوم / الاستيقاظ بالجهاز ، ولمراقبة سلوك الجهاز عند عدم توصيله بالطاقة.

ليس كل شيء يريد الاتصال عبر USB. ربما تكون معلمة المرشح حلاً أفضل؟

هل حدث أي تقدم على هذه الجبهة؟ يمكن أن يجعل وظائف CI غير موثوقة إذا تم توصيل الأجهزة الأخرى وفصلها لاسلكيًا وتلقائيًا.

يرجى تقديم حجة للسماح / عدم السماح بعرض الأجهزة اللاسلكية

مرحبًا يا رفاق ، لقد واجهت نفس المشكلة هذا الأسبوع وتم حلها عن طريق تعطيل خدمة wifi في MAC.

في MAC الخاص بك ، استخدم الأمر أدناه لسرد خدمات الشبكة الخاصة بك
إعداد الشبكة - قائمة خدمات الشبكة

اكتب اسم الخدمة المماثل لـ iPhone USB وقم بتشغيل:
تم تمكين إعداد الشبكة - مجموعة خدمة الشبكة مع إيقاف تشغيل SERVICE_NAME

بعد ذلك ، أعد تشغيل هاتفك المحمول ويجب أن يعمل ، لكنني أوافق على أنه يجب أن يكون علامة لتجاهل اتصالات Wi-Fi ، على غرار علامة "ios-publish - no-wifi".

مرحبًا يا رفاق ، لقد واجهت نفس المشكلة هذا الأسبوع وتم حلها عن طريق تعطيل خدمة wifi في MAC.

في MAC الخاص بك ، استخدم الأمر أدناه لسرد خدمات الشبكة الخاصة بك
إعداد الشبكة - قائمة خدمات الشبكة

اكتب اسم الخدمة المماثل لـ iPhone USB وقم بتشغيل:
تم تمكين إعداد الشبكة - مجموعة خدمة الشبكة مع إيقاف تشغيل SERVICE_NAME

بعد ذلك ، أعد تشغيل هاتفك المحمول ويجب أن يعمل ، لكنني أوافق على أنه يجب أن يكون علامة لتجاهل اتصالات Wi-Fi ، على غرار علامة "ios-publish - no-wifi".

يمكنني أيضًا رؤية نسخة مكررة من الجهاز مع idevice_id باتباع خطواتك.

  1. قم بتعطيل مزامنة iTunes wifi
  2. قم بتعطيل مزامنة iTunes التلقائية
  3. تعطيل wifi لجهاز Mac الخاص بي
  4. أعد تشغيل iPhone و Mac.

بعد كل ذلك ، لكنها فشلت. لا يزال بإمكاني رؤية نسخة مكررة من الجهاز مع idevice_id

مرحبًا يا شباب ، لدي نفس المشكلة. لقد وجدت أنه إذا كان جهاز mac و iphone في نفس شبكة AP (نقطة الوصول) ، فستحدث المشكلة. لذلك قمت بتوصيل iphone بجهاز AP ​​آخر ، وتم حل المشكلة. اتمنى ان تكون مفيدة

في حالتي ، كان جهاز iPhone الخاص بي متصلًا عبر USB و WiFi. عندما قمت بتعطيل Wifi وانتظرت بضع دقائق ، تمت إزالة الإدخال الثاني. الشيء هو .... ماذا يعني أن يكون لديك 2 وهل يؤثر ذلك على أي شيء في اتجاه مجرى النهر؟ سيكون من اللطيف أن يتخذ شخص ما في فريق الفرز قرارًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

nailgilaziev picture nailgilaziev  ·  6تعليقات

txaj picture txaj  ·  5تعليقات

alxjandroszlv picture alxjandroszlv  ·  3تعليقات

dreamerblue picture dreamerblue  ·  6تعليقات

truonggiang0710 picture truonggiang0710  ·  3تعليقات