Чи є можливість протестувати камеру iPhone в тренажері без необхідності розгортання на пристрої? Це здається жахливо нудним.
Чи є можливість протестувати камеру iPhone в тренажері без необхідності розгортання на пристрої? Це здається жахливо нудним.
Відповіді:
Існує ряд особливостей пристрою, які вам доведеться протестувати на пристрої, але це не складніше, ніж використовувати тренажер. Просто побудуйте ціль налагодження для пристрою та залиште його прикріпленим до комп'ютера.
Перелік дій, для яких потрібен фактичний пристрій:
Мені потрібно було протестувати кілька спеціальних накладок для фотографій. Накладки потрібно було коригувати залежно від розміру / роздільної здатності зображення.
Я підійшов до цього способом, схожим на пропозицію від Стефана, і вирішив зашифрувати відповідь камери.
Коли тренажер працює, я виконую цей макетний код замість стандартного "captureStillImageAsynchronmousFromConnection".
У цьому макетному коді я створюю "чорну фотографію" потрібної роздільної здатності, а потім надсилаю її через конвеєр, щоб оброблятись як звичайна фотографія. По суті, забезпечує відчуття дуже швидкої камери.
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);
Зображення вище еквівалентно 8MP фотографії, які надсилає більшість пристроїв поточного дня. Очевидно, що для тестування інших резолюцій ви змінили б розмір.
Поширеною причиною необхідності доступу до камери є створення скріншотів для AppStore.
Оскільки камера не доступна в тренажері, хороший трюк (єдиний, кого я знаю) - змінити розмір перегляду під потрібний вам розмір, саме час зробити знімки екрана. Ви їх обріжете пізніше.
Звичайно, потрібно мати пристрій з більшим екраном.
IPad ідеально підходить для тестування макетів та створення знімків для всіх пристроїв. Скріншоти для iPhone6 + доведеться трохи розтягнути (масштабувати 1,078125 - Не велика справа ...)
Хороша посилання на швидку посилання на рішення пристроїв iOS: http://www.iosres.com/
Редагувати: У недавньому проекті, де використовується спеціальний контролер перегляду камери, я замінив AVPreview на UIImageView в цільовій, яку я використовую лише для запуску в тренажері. Таким чином я можу автоматизувати скріншоти для завантаження iTunesConnect. Зауважте, що кнопки управління камерою знаходяться не в накладанні, а в огляді за попереднім переглядом камери.
Відповідь @Craig нижче описує інший метод, який я вважав досить розумним - він також працює з накладанням камери, протилежним моєму.
Я ніколи не пробував цього, але ви можете спробувати! iCimulator
Я написав перегляд заміни для використання в режимі налагодження. Він реалізує той самий API і робить ті самі зворотні делегати. У моєму випадку я змусив повернути випадкове зображення з мого тестового набору. Досить тривіально писати.