İPhone kamerasını simülatörde bir cihaza yerleştirmek zorunda kalmadan test etmenin bir yolu var mı? Bu çok sıkıcı görünüyor.
İPhone kamerasını simülatörde bir cihaza yerleştirmek zorunda kalmadan test etmenin bir yolu var mı? Bu çok sıkıcı görünüyor.
Yanıtlar:
Cihazda test etmeniz gereken bir dizi cihaza özgü özellik vardır, ancak bu simülatörü kullanmaktan daha zor değildir. Cihaz için bir hata ayıklama hedefi oluşturun ve onu bilgisayara bağlı bırakın.
Gerçek bir cihaz gerektiren eylemlerin listesi:
Fotoğraflar için bazı özel kaplamaları test etmem gerekiyordu. Bindirmelerin görüntünün boyutuna / çözünürlüğüne göre ayarlanması gerekiyordu.
Buna Stefan'ın önerisine benzer bir şekilde yaklaştım, "kukla" bir kamera yanıtı kodlamaya karar verdim.
Simülatör çalışırken, standart "captureStillImageAsynchronouslyFromConnection" yerine bu kukla kodu çalıştırıyorum.
Bu sahte kodda, gerekli çözünürlüğe sahip "siyah bir fotoğraf" oluşturuyorum ve ardından normal bir fotoğraf gibi işlem görmesi için bunu boru hattından gönderiyorum. Esasen çok hızlı bir kamera hissi veriyor.
CGSize sz = UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation]) ? CGSizeMake(2448, 3264) : CGSizeMake(3264, 2448);
UIGraphicsBeginImageContextWithOptions(sz, YES, 1);
[[UIColor blackColor] setFill];
UIRectFill(CGRectMake(0, 0, sz.width, sz.height));
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
Yukarıdaki görüntü, günümüz cihazlarının çoğunun gönderdiği 8 MP'lik bir fotoğrafa eşdeğerdir. Açıkçası, diğer çözünürlükleri test etmek için boyutu değiştirirsiniz.
Kameraya erişim ihtiyacının yaygın bir nedeni, AppStore için ekran görüntüleri almaktır.
Kamera simülatörde bulunmadığından, iyi bir numara (bildiğim tek şey), görünümünüzü ihtiyacınız olan boyutta yeniden boyutlandırmak, sadece ekran görüntülerini almak için tam zamanında. Onları daha sonra kırpacaksınız.
Elbette, daha büyük ekrana sahip bir cihaza sahip olmanız gerekir.
İPad, düzenleri test etmek ve tüm cihazlar için anlık görüntüler oluşturmak için mükemmeldir. İPhone6 + için ekran görüntülerinin biraz uzatılması gerekecek (1.078125 ile ölçeklendirilmiş - Bu önemli değil ...)
Bir iOS Cihaz çözünürlüklerine iyi bağlantı hızlı başvuru: http://www.iosres.com/
Düzenleme: Özel bir kamera görüntüleme denetleyicisinin kullanıldığı yeni bir projede, AVPreview'i yalnızca simülatörde çalıştırmak için kullandığım bir hedefte bir UIImageView ile değiştirdim. Bu şekilde, iTunesConnect yüklemesi için ekran görüntülerini otomatik hale getirebilirim. Kamera kontrol düğmelerinin bir kaplamada değil, kamera önizlemesinin üzerinde bir görünümde olduğunu unutmayın.
Aşağıdaki @Craig yanıtı, oldukça akıllı bulduğum başka bir yöntemi açıklıyor - Benimkinin aksine, kamera kaplamasıyla da çalışıyor.
Hiç denemedim, ama deneyebilirsin! iCimulator
Hata ayıklama modunda kullanmak için bir değiştirme görünümü yazdım. Aynı API'yi uygular ve aynı temsilci geri aramalarını yapar. Benim durumumda, test setimden rastgele bir görüntü döndürmesini sağladım. Yazmak oldukça önemsiz.