programing

아이폰 시뮬레이터에서 카메라를 테스트하려면 어떻게 해야 합니까?

css3 2023. 6. 9. 22:17

아이폰 시뮬레이터에서 카메라를 테스트하려면 어떻게 해야 합니까?

기기에 배치하지 않고 시뮬레이터에서 아이폰 카메라를 테스트할 수 있는 방법이 있습니까?이건 정말 지루해 보여요.

장치에서 테스트해야 하는 장치별 기능은 여러 가지가 있지만 시뮬레이터를 사용하는 것보다 어렵지 않습니다.장치에 대한 디버그 대상을 만들고 컴퓨터에 연결된 상태로 두면 됩니다.

실제 장치가 필요한 작업 목록:

  • 실제 전화
  • 카메라
  • 가속도계
  • 실제 GPS 데이터
  • 나침반
  • 진동
  • 알림 푸시...

사진에 대한 사용자 지정 오버레이를 테스트해야 했습니다.오버레이는 이미지의 크기/해상도에 따라 조정해야 했습니다.

저는 스테판의 제안과 비슷한 방식으로 접근했고, 저는 "멍청한" 카메라 반응을 코딩하기로 결정했습니다.

시뮬레이터가 실행 중일 때 표준 "captureStillImageAsynchronouslyFromConnection" 대신 이 더미 코드를 실행합니다.

이 더미 코드에서 저는 필요한 해상도의 "검은 사진"을 작성한 다음 파이프라인을 통해 보내 일반 사진처럼 처리합니다.기본적으로 매우 빠른 카메라의 느낌을 제공합니다.

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 사진과 동일합니다.분명히 다른 해상도를 테스트하기 위해 크기를 변경할 것입니다.

아니요(3.2에서 방법을 추가하지 않은 경우, 아직 확인하지 않았습니다).

디버그 모드에서 사용할 대체 보기를 작성했습니다.동일한 API를 구현하고 동일한 위임 콜백을 수행합니다.제 경우에는 테스트 세트에서 임의의 이미지를 반환하도록 했습니다.쓰기에는 꽤 사소한 것입니다.

카메라에 액세스해야 하는 일반적인 이유는 AppStore용 스크린샷을 만들기 위해서입니다.

시뮬레이터에서 카메라를 사용할 수 없기 때문에 좋은 방법은 스크린샷을 촬영할 때 필요한 크기로 보기 크기를 조정하는 것입니다.당신은 나중에 그것들을 자를 수 있습니다.

물론입니다. 화면이 더 큰 장치를 사용할 수 있어야 합니다.

iPad는 모든 장치의 레이아웃을 테스트하고 스냅샷을 만드는 데 완벽합니다.iPhone6+용 스크린샷은 약간 늘어나야 합니다(1,078125 확장 - 별거 아닙니다…).

iOS 기기 해결 빠른 참조 링크: http://www.iosres.com/


편집 : 커스텀 카메라 뷰 컨트롤러를 사용하는 최근 프로젝트에서 저는 시뮬레이터에서만 실행하는 대상에서 AVP 리뷰를 UIImageView로 대체했습니다.이렇게 하면 iTunesConnect 업로드를 위한 스크린샷을 자동화할 수 있습니다.카메라 제어 단추는 오버레이에 있지 않고 카메라 미리 보기 위의 보기에 있습니다.

아래의 @Craig 답변은 제가 꽤 똑똑하다고 생각한 또 다른 방법을 설명합니다. 제 것과는 반대로 카메라 오버레이와도 작동합니다.

macOS 13+(아마 macOS 12) 및 Xcode 14+의 경우 "My Mac(iPhone용으로 설계됨)" Xcode 대상을 통해 iPhone 앱을 실행할 수 있습니다.

My Mac(iPhone용으로 설계됨)

"사진 캡처 저장" 스위프트 플레이그라운드는 라이브 macOS 카메라를 사용하는 iOS 샘플 코드를 제공합니다.

_참고: 암64 맥은 "My Mac(iPhone용으로 설계됨)"을 직접 실행할 수 있습니다.그러나 필요한 x86_64는 iOS 기반 API 호출과 함께 라이브 카메라를 사용하기 위해 "Mac(Mac Catalyst)"을 사용합니다.

언급URL : https://stackoverflow.com/questions/2168484/how-do-i-test-a-camera-in-the-iphone-simulator