2012-01-01 4 views
3

최근에 AVFoundation을 사용하여 OS X 10.7 이상 앱의 동영상에 메타 데이터를 추가했습니다. 내 대상이 ARC (64 비트)이므로 QTKit.framework 및 Quicktime.framework가 작동하지 않습니다. 이 시나리오에서는 AVAssetExportPresetPassthrough를 사용하여 임시 동영상을 작성한 다음 원본 파일을이 파일로 바꿔야합니다.QtKit의 updateMovieFile과 같이 복사하지 않고 AVfoundation으로 동영상을 업데이트 할 수 있습니까?

그러나 Apple은 허용 된 폴더에서 데이터를 씁니다 (내 앱이 드래그 앤 드롭으로 메타 데이터를 추가하는 동영상 파일을 수신하므로 어디에서 저장할지 모릅니다)라고 주장하는 앱을 거부했습니다. 어떻게하면 원래의 동영상을 updateMovieFile 메서드없이 업데이트 된 메타 데이터 동영상으로 바꿀 수 있습니까?

64 비트 랜드에는 비슷한 것이 있습니까? 어떤 해결 방법? 어떤 충고?.

대단히 감사합니다.

답변

2

QTKit 이고 64 비트 호환이 가능합니다. 런타임은 ARC 및 MRC 응용 프로그램과 동일하기 때문에 ARC 사용 여부는 기존 프레임 워크와 관련이 없습니다. ARC는 전 처리기 및 컴파일러 단계 일 뿐이지 만 가비지 수집과 달리 특별한 런타임은 필요하지 않습니다.

파일을 폴더에 저장하려면 응용 프로그램을 샌드 박스로 저장하는 방법은 열기 및 저장 대화 상자를 제어하고 표시하는 별도의 프로세스 인 PowerBox를 사용하는 것입니다. 샌드 박스 앱이 NSOpenPanel 또는 NSSavePanel을 요청하면 PowerBox가 자동으로 사용됩니다.

사용자가 파일을 앱으로 드래그하면 앱에 NSSavePanel이 표시되고 사용자가 출력 위치를 선택할 수 있습니다. NSSavePanel은 실제로 PowerBox에서 표시되며 사용자가 선택한 파일 위치에 쓸 수 있도록 샌드 박스를 벗어날 수 있습니다. 사용자가 을 클릭하기 만하면되도록 기존 파일의 위치를 ​​가리 키도록 NSSavePanel을 구성 할 수 있습니다.

좋은 드래그/드롭 UI가 깨졌지만 현재는 샌드 박스 외부의 파일에 쓸 수있는 유일한 지원 방법이기 때문에 이것이 이상적이지 않다는 것을 알고 있습니다.

+0

감사합니다. Rob. 죄송 합니다만 ARC (OSX) **에는 64 비트 대상이 필요합니다. 저장 대화 상자에 대해서는 단순히 내 앱에서 작동하지 않습니다. 어느 위치에서나 여러 개의 파일을 드래그하면 사용자에게 모든 영화를 확인하도록 요청하는 것은 의미가 없습니다. 그러나 유용한 정보를 주셔서 감사합니다. 영화 파일을 다시 작성하지 않고도 업데이트 할 수있는 다른 방법이 있는지 궁금합니다. – rmvz3

+0

ARC는 기술적으로 64 비트가 필요합니다 (기술적으로 실제로는 현대 런타임이 필요합니다. iOS에서는 32 비트에서 작동하지만 Mac에서는 현대 런타임이 64 비트에서만 사용 가능합니다). 저의 요점은 QTKit이 32 비트 및 64 비트 환경에서 모두 작동한다는 것입니다. –