[ios] 앱 미리보기를 위해 iOS 시뮬레이터 비디오 캡처

이제 App Store에서 앱의 비디오 미리보기를 제출할 수 있습니다. Apple에 따르면 우리는 iOS8 장치로 그렇게해야하며 OSX 10.10.문제는 모든 다른 장치 (4 “, 4.7”, 5.5 “및 iPad)가 있어야한다는 것입니다.

이에 대한 대안이 있습니까?

시뮬레이터 비디오를 캡처하려고합니다. 문제는 FullHD100 % 해상도로 표시 될 때 장치 화면이 모니터 보다 큽니다 . 전체 해상도로 시뮬레이터에서 바로 비디오를 캡처 할 수있는 솔루션이 있습니까?

편집 : 많은 사람들이 질문에 대답하고 있기 때문에 나는 묻지 않을 것입니다 :-하나의 장치 크기를 기록하고 크기를 조정하는 것은 내가 요구하는 것이 아닙니다. – 앱 미리보기 를 기록 하는 방법 은 내가 묻는 것이 아닙니다. -미리보기를하는 방법은 내가 원하는 것이 아닙니다.

어떻게 내가 요구하는 것은 이 화면에 맞지 않을 경우 100 % 해상도 시뮬레이터에서 비디오를 녹화 할 수 있습니까?



답변

Xcode 8.2 이상

시뮬레이터 xcrun simctl를 제어하는 ​​명령 줄 유틸리티 인을 사용하여 Simulator의 비디오 및 스크린 샷을 찍을 수 있습니다.

  1. 시뮬레이터에서 앱을 실행하십시오.
  2. 터미널을 엽니 다
  3. 명령을 실행

    • 스크린 샷을 찍으려면

      xcrun simctl io booted screenshot <filename>.<file extension>

      예를 들면 다음과 같습니다.

      xcrun simctl io booted screenshot myScreenshot.png

    • 비디오를 찍으려면

      xcrun simctl io booted recordVideo <filename>.<file extension>

      예를 들면 다음과 같습니다.

      xcrun simctl io booted recordVideo appVideo.mov

  4. ctrl + c비디오 녹화를 중지하려면 누릅니다 .

작성된 파일의 기본 위치는 현재 디렉토리입니다.

Xcode 11.2 이상에는 추가 옵션이 있습니다.

Xcode 11.2 베타 릴리스 노트부터

간단한 비디오 녹화는 이제 작은 비디오 파일을 생성하고 HEIC 압축을 지원하며 가능한 경우 하드웨어 인코딩 지원을 활용합니다. 또한 iOS 13, tvOS 13 및 watchOS 6 장치에서 비디오를 녹화하는 기능이 복원되었습니다.

추가 플래그를 사용할 수 있습니다.

xcrun simctl io --help
Set up a device IO operation.
Usage: simctl io <device> <operation> <arguments>

...

    recordVideo [--codec=<codec>] [--display=<display>] [--mask=<policy>] [--force] <file or url>
        Records the display to a QuickTime movie at the specified file or url.
        --codec      Specifies the codec type: "h264" or "hevc". Default is "hevc".

        --display    iOS: supports "internal" or "external". Default is "internal".
                     tvOS: supports only "external"
                     watchOS: supports only "internal"

        --mask       For non-rectangular displays, handle the mask by policy:
                     ignored: The mask is ignored and the unmasked framebuffer is saved.
                     alpha: Not supported, but retained for compatibility; the mask is rendered black.
                     black: The mask is rendered black.

        --force      Force the output file to be written to, even if the file already exists.

    screenshot [--type=<type>] [--display=<display>] [--mask=<policy>] <file or url>
        Saves a screenshot as a PNG to the specified file or url(use "-" for stdout).
        --type       Can be "png", "tiff", "bmp", "gif", "jpeg". Default is png.

        --display    iOS: supports "internal" or "external". Default is "internal".
                     tvOS: supports only "external"
                     watchOS: supports only "internal"

                     You may also specify a port by UUID
        --mask       For non-rectangular displays, handle the mask by policy:
                     ignored: The mask is ignored and the unmasked framebuffer is saved.
                     alpha: The mask is used as premultiplied alpha.
                     black: The mask is rendered black.

이제 jpeg(비 사각형 디스플레이의 경우) 마스크와 다른 플래그를 사용하여 스크린 샷을 찍을 수 있습니다 .

xcrun simctl io booted screenshot --type=jpeg --mask=black screenshot.jpeg


답변

QuickTime Player화면을 녹화하는 데 사용할 수 있습니다 .

  • 열다 QuickTime Player
  • 메뉴 File에서 선택
  • 고르다 New Screen recording

이제 Screen Recording창에서 기록 버튼을 클릭하십시오.

전체 화면 또는 화면의 선택적 부분을 기록 할 수있는 옵션이 제공됩니다.

시뮬레이터 부분 만 기록되도록 시뮬레이터를 선택해야합니다.


답변

Apple은 실제 장비에서 권장하고 iOS 및 OS X에서 QuickTime 및 iMovie를 사용하여이를 수행하는 방법에 대한 안내서를 제공합니다.
https://developer.apple.com/app-store/app-previews/imovie/Creating-App -Previews-with-iMovie.pdf

요약:

QuickTime Player로 화면 녹화 캡처

  1. Lightning 케이블을 사용하여 iOS 기기를 Mac에 연결하십시오.
  2. QuickTime Player를 엽니 다.
  3. 파일> 새로운 동영상 녹화를 선택하십시오.
  4. 표시되는 창에서 iOS 장치를 카메라 및 마이크 입력 소스로 선택하십시오.

iMovie로 앱 미리보기 생성

스크린 레코딩 가져 오기

다음으로 QuickTime Player로 캡처 한 화면 녹화 파일을 iMovie로 가져옵니다. iMovie에서 :

  1. 파일> 미디어 가져 오기를 선택하십시오.
  2. 나타나는 창에서 화면 녹화 파일을 선택하십시오.

앱 미리보기 프로젝트 만들기

새로운 앱 미리보기 프로젝트를 시작하려면 파일> 새로운 앱 미리보기를 선택하십시오. 클립을 추가하고 정렬하여 미리보기를 만들 수있는 타임 라인이 나타납니다.


답변

나는 아무도 내 대답을 제공하지 않았다는 사실에 놀랐습니다. 이것은 당신이하는 일입니다 (적어도 하나의 적격 장치가있는 경우 작동합니다).

  1. 가지고있는 장치로 앱 미리보기를 기록, 편집 및 완료하십시오.
  2. 파일로 내 보냅니다.
  3. 시뮬레이터로 이동하여 각기 다른 크기의 iPhone에서 스크린 샷 1 장을 인쇄하십시오.
  4. iMovie에서 새로운 App Preview를 생성하십시오.
  5. 원하는 크기의 스크린 샷을 먼저 삽입 한 다음 이미 만든 앱 미리보기 파일을 추가하십시오.
  6. 공유-> 앱 미리보기를 사용하여 내보내기
  7. 새 크기에 대해서는 4-6 단계를 반복하십시오.

원하는 해상도로 앱 미리보기를 얻을 수 있어야합니다.


답변

내장 된 스크린 샷 유틸리티를 사용하여 화면의 일부를 기록 할 수 있습니다.

  1. 제어판을 표시하려면 Shift-Command-5를 누르십시오.
  2. 를 선택하십시오 여기에 이미지 설명을 입력하십시오.
  3. 녹화하려는 화면 부분을 선택하십시오. 그것은 iPhone 시뮬레이터 일 것입니다.
  4. 여기에 이미지 설명을 입력하십시오녹음을 중지 하려면 클릭하십시오 .
  5. 화면 오른쪽 하단에 썸네일이 나타납니다. 저장하기 전에 편집 할 수 있습니다.

마우스 클릭을 시각화하려면 1 단계 후 옵션 제어를 선택 하고 마우스 클릭 표시를 활성화 하십시오 .


답변

Yosemite 에서 QuickTime을 사용 하여 iOS 장치의 화면을 연결하고 기록해야합니다.

아이폰 초상화

녹화가 끝나면 iMovie를 사용하여 비디오를 편집 할 수 있습니다. iPhone Portrait App Preview에서 작업하는 경우 해상도는 같아야 1080x1920하지만 iMovie는 16:9( 1920x1080) 로만 내보낼 수 있습니다 .

한 가지 해결책은 녹화 된 비디오를 해상도로 가져 와서 1080x192090도 회전시키는 것입니다. 그런 다음 1920x1080ffmpeg 및 다음 명령을 사용하여 영화를 내보내고 내 보낸 비디오를 90도 뒤로 회전

ffmpeg -i Landscape.mp4 -vf "transpose=1" Portrait.mp4

iPad

iPad는 1200x900( 4:3) 해상도가 필요 하지만 iMovie 는 (으 )로만 내보내므로 조금 까다 롭습니다 16:9.

여기 내가 한 일이 있습니다.

  1. 가로로 iPad Air에서 동영상 녹화 ( 1200x900, 4:3)
  2. iMovie로 가져 오기 및 1920x1080, 16:9( iPadLandscape16_9-1920x1080.mp4) 로 내보내기
  3. 로 동영상의 왼쪽 및 오른쪽 검은 색 막대를 제거 1440x1080합니다. 한 막대의 너비는240

    ffmpeg -i iPadLandscape16_9-1920x1080.mp4 -filter:v "crop=1440:1080:240:0" -c:a copy iPadLandscape4_3-1440x1080.mp4
  4. 영화 축소 1220x900

    ffmpeg -i iPadLandscape4_3-1440x1080.mp4 -filter:v scale=1200:-1 -c:a copy iPadLandscape4_3-1200x900.mp4

Apple 개발자 포럼 에 대한 답변에서 발췌


답변

명령 줄을 사용하여 스크린 샷 또는 비디오 녹화

xcrun명령 줄 유틸리티를 사용하여 스크린 샷을 찍거나 시뮬레이터 창의 비디오를 녹화 할 수 있습니다 .

  1. 시뮬레이터에서 앱을 시작하십시오.

  2. 에있는 터미널을 시작 /Applications/Utilities하고 적절한 명령을 입력하십시오.

    • 스크린 샷을 찍으려면 다음 screenshot작업을 수행하십시오.

      xcrun simctl io booted screenshot

      명령 끝에 선택적 파일 이름을 지정할 수 있습니다.

    • 비디오를 녹화하려면 다음 recordVideo작업을 수행하십시오.

      xcrun simctl io booted recordVideo <filename>.<extension>

      녹음을 중지하려면 터미널에서 Control-C를 누릅니다.

      참고 : recordVideo의 파일 이름을 지정해야합니다.

    작성된 파일의 기본 위치는 현재 디렉토리입니다.

    에 대한 자세한 내용을 보려면 simctl터미널에서이 명령을 실행하십시오.

    xcrun simctl help

    io부속 명령 에 대한 자세한 정보를 보려면 다음 명령을 simctl실행하십시오.

    xcrun simctl io help

에서 애플의 문서 .