0
UIVideoEditorController
を使用して、アプリケーションのドキュメントディレクトリに保存されているビデオを編集しようとしています。 iPhone(iOS 10.x)で動作しますが、iPad(iOS 9.2)でクラッシュします。iPadでUIVideoEditorControllerがクラッシュする
アプリがランドスケープモードで動作していると付け加える必要があります。ドキュメントに記載されているように、UIVideoEditorController
はポートレートモードでのみ動作します。しかし、それはiPhone上で働いているので、これは問題ではないはずですか?
ここで(デリゲートメソッドがすべて実装されますが、ここでは言及されていない)私は何をすべきかです:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithString: [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"myMovie_%li.MOV", (long)self.editMovie]]];
UIVideoEditorController *vec = [[UIVideoEditorController alloc] init];
vec.delegate = self;
NSLog(@"Editing video %@", vec);
if ([UIVideoEditorController canEditVideoAtPath:filePath])
{
[self presentViewController:vec animated:NO completion:nil];
}
else
{
NSLog(@"can't edit video at %@", filePath);
}
そして、これは、クラッシュ・ログです:
objc[6507]: EXCEPTIONS: throwing 0x17648b30 (object 0x17648a90, a NSException)
objc[6507]: EXCEPTIONS: searching through frame [ip=0xffffffff sp=0x559900] for exception 0x17648b10
objc[6507]: EXCEPTIONS: searching through frame [ip=0x2 sp=0x55a880] for exception 0x17648b10
objc[6507]: EXCEPTIONS: unwinding through frame [ip=0xffffffff sp=0x559900] for exception 0x17648b10
objc[6507]: EXCEPTIONS: unwinding through frame [ip=0x2 sp=0x55a880] for exception 0x17648b10
objc[6507]: EXCEPTIONS: handling exception 0x17648b10 at 0x2236b2f9
objc[6507]: EXCEPTIONS: rethrowing current exception
objc[6507]: EXCEPTIONS: searching through frame [ip=0x6 sp=0x55a880] for exception 0x17648b10
objc[6507]: EXCEPTIONS: searching through frame [ip=0x3 sp=0x55aa20] for exception 0x17648b10
objc[6507]: EXCEPTIONS: catch(NSException)
objc[6507]: EXCEPTIONS: unwinding through frame [ip=0x6 sp=0x55a880] for exception 0x17648b10
objc[6507]: EXCEPTIONS: finishing handler
objc[6507]: EXCEPTIONS: unwinding through frame [ip=0xffffffff sp=0x55a880] for exception 0x17648b10
objc[6507]: EXCEPTIONS: unwinding through frame [ip=0x3 sp=0x55aa20] for exception 0x17648b10
objc[6507]: EXCEPTIONS: handling exception 0x17648b10 at 0x11175f
2017-04-02 14:17:20.281 myApp[6507:5048337] (
0 CoreFoundation 0x2245b933 <redacted> + 150
1 libobjc.A.dylib 0x21bf6e17 objc_exception_throw + 38
2 CoreFoundation 0x2245b861 <redacted> + 0
3 PhotoLibrary 0x2be83587 <redacted> + 186
4 PhotoLibrary 0x2be7f97f <redacted> + 1458
5 PhotoLibrary 0x2be9e897 <redacted> + 42
6 UIKit 0x269d6a1f <redacted> + 150
7 UIKit 0x26a94683 <redacted> + 38
8 UIKit 0x26a94575 <redacted> + 376
9 UIKit 0x26a93929 <redacted> + 96
10 UIKit 0x26a9355f <redacted> + 834
11 UIKit 0x26a6bbf1 <redacted> + 2048
12 UIKit 0x26d61485 <redacted> + 444
13 UIKit 0x26d437eb <redacted> + 114
14 UIKit 0x26a6b2db <redacted> + 370
15 UIKit 0x26faa5cd <redacted> + 112
16 UIKit 0x26faa1a3 <redacted> + 62
17 UIKit 0x269ef0e5 <redacted> + 568
18 UIKit 0x269eee87 <redacted> + 146
19 UIKit 0x26d2606d <redacted> + 1080
20 UIKit 0x26c7f4c9 <redacted> + 268
21 UIKit 0x26c8b7db <redacted> + 90
22 UIKit 0x269c9b1d <redacted> + 84
23 CoreFoundation 0x2241d6c9 <redacted> + 20
24 CoreFoundation 0x2241b9cd <redacted> + 280
25 CoreFoundation 0x2241bdff <redacted> + 958
26 CoreFoundation 0x2236b229 CFRunLoopRunSpecific + 520
27 CoreFoundation 0x2236b015 CFRunLoopRunInMode + 108
28 GraphicsServices 0x2395bac9 GSEventRunModal + 160
29 UIKit 0x26a3f189 UIApplicationMain + 144
30 myApp 0x0011173b main + 198
31 libdyld.dylib 0x22013873 <redacted> + 2
)
objc[6507]: EXCEPTIONS: finishing handler
objc[6507]: EXCEPTIONS: releasing completed exception 0x17648b30 (object 0x17648a90, a NSException)
任意のアイデアは?
できるだけ早く最終回答を追加します。まず、videoPathとほぼすべてのプロパティをEditor-Controllerに追加するのを忘れてしまった。それから私はiPad上のポップオーバーコントローラーとしてそれを提示しなければならなかった。今、それは動作します...それは«duh» - モーメント... – Swissdude