← Nesim Apps

iPhone'u Windows'tan USB ile Ayıklamak: Python ile Ekran Görüntüsü ve Günlük

Nesim Razon, bağımsız Android geliştiricisi · 2026-11-14

#Geliştirici notları#iOS

Android'de adb, masandaki bir telefondan ekran görüntüsü almayı ya da günlük okumayı kolaylaştırır. Windows'ta bir iPhone için buna benzer bir şey beklemiyordum ama bir yolu var: Apple'ın kendi sürücü paketi ve açık kaynaklı bir Python aracı. İşte iOS 15.8 çalıştıran bir iPhone 7'de işe yarayan kurulum, tuzaklar karşılaştığım sırayla ve onunla çözdüğüm gerçek bir hata.

Ne lazım

Kurulum sırası önemli

Apple Devices kurulduktan sonra iPhone Aygıt Yöneticisi'nde hâlâ hata durumuyla görünüyordu ve araç usbmux soketine bağlanamadığını söylüyordu. Çözüm, telefon bağlı ve kilidi açıkken Apple Devices uygulamasını bir kez açmak, Güven isteğini kabul etmek ve sürücü kurulumunu bitirmesini beklemekti. Telefon ancak ondan sonra doğru listelendi.

Python tuzağı

Benim makinemde yoldaki ilk python eski bir Python 2.7'ydi; bu yüzden düz pip komutu işe yarar bir şey kurmadı. Windows'ta py başlatıcısı doğrusunu seçer: py -3 -m pip install pymobiledevice3 ile kur ve aracı her zaman py -3 -m pymobiledevice3 olarak çalıştır, çünkü oluşturduğu çalıştırılabilir dosya yolda değil.

Sürekli kullandığım dört komut

Boğulmadan günlük okumak

syslog live, telefonun günlüğe yazdığı her şeyi basar; bu fazlasıyla çok. Süreç adına göre süzmek yalnızca uygulamanı bırakır. Yine de uygulamam otuz saniyede bir megabaytın üstünde günlük üretti; bu yüzden çıktıyı bir dosyaya yazıp akmasını izlemek yerine sonradan arıyorum.

En kolay bulunanlar kendi mesajların. Swift'te bir NSLog çağrısı bu günlükte görünür; ben satırlarımı uygulama adıyla etiketliyorum ve o etiketi arıyorum.

Gerçek bir örnek: banner neden boştu?

Oyunum, Google'ın demo reklam biriminden gerçeğine geçince reklam banner'ı göstermedi. Telefon görünür bir hata vermedi. Banner görünümüne, reklam isteğinin sonucunu NSLog ile yazan küçük bir temsilci ekledim, derledim, TestFlight ile kurdum ve günlüğü USB'den okudum.

Cevap tek satırdı: gösterilecek reklam yok. Bu, reklam sunucusunun dolduracak bir şeyi olmadığı anlamına gelir; henüz mağazada olmayan bir uygulamada yepyeni bir reklam birimi için normaldir. Günlük olmasa kodumda hata aramaya devam ederdim.

Sınırlar ve gizlilik

Ekran görüntüsü ekranda ne varsa onu yakalar ve süzülmemiş bir günlük başka uygulamaların satırlarını içerir. Telefon paylaşılıyorsa, benimki başka bir projeyle ortak, önce yalnızca kendi uygulamamı başlatıyorum ve günlüğü süreç adına göre süzüyorum. Araç, bilgisayara verdiğin güven üzerinden çalışır; Güven isteğini yalnızca sahip olduğun makinelerde kabul et.

Sık sorulan sorular

Windows'ta bir iPhone'dan ekran görüntüsü alabilir miyim?

Evet. Apple Devices sürücüsü ve pymobiledevice3 aracıyla geliştirici disk imajını bir kez bağlayıp sonra komut satırından ekran görüntüsü kaydedebilirsin.

Bunun için Mac ya da Xcode gerekir mi?

Hayır. Sürücü Apple Devices uygulamasından, araç bir Python paketi; Windows dizüstü yeterli.

Araç neden usbmux'a bağlanamadığını söylüyor?

Apple USB sürücüsü henüz çalışmıyordu. Telefon bağlı ve güvenilir iken Apple Devices uygulamasını bir kez aç, sonra tekrar dene.

Yalnızca kendi uygulamamın günlüğünü nasıl okurum?

syslog live'ı süreç adı seçeneğiyle kullan, çıktıyı bir dosyaya yaz ve kendi etiketlediğin mesajları ara.

Diğer yazılar