我是Objective-C的新手,完全是自学成才,所以我可能犯了一个非常明显的错误,但据我所知,我正在直接关注AVFoundation计划指南,它会引发指南不警告的错误我。
我发现网站上其他地方的“初始化元素不是编译时常量”错误的解决方案,但没有一个对我有用。我甚至不确定为什么我首先得到这个错误:指南并没有说代码应该在函数内部,或者只是假设我已经知道了? 当我把它放在一个函数或方法中时,错误警告会消失,但应用程序将无法在我的手机上正确加载;在启动屏幕之后,故事板变黑了 - 除非我如何将输入添加到会话中有什么问题?但是,我再次按照指南。 这是我使用的代码:
// set up session
AVCaptureDevice *camera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:camera error:nil];
AVCaptureSession *session = [[AVCaptureSession alloc]init];
[session addInput:input];
session.sessionPreset = AVCaptureSessionPresetHigh;
// display preview
AVCaptureVideoPreviewLayer *preview = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
CALayer *viewlayer = preview;
[viewlayer addSublayer:preview];
相机,输入,会话,预览和视图层发生错误。我已经尝试将其全部放入函数中然后调用它,但这会导致应用程序崩溃。我已经尝试将五个变量初始化为nil然后重新定义,但这只是引发了一个不同的重定义错误,我已经尝试将它放在方法中,在'view did load'中...我没有那么多的经验而且我的想法已经不多了。
以下是我使用的AvFoundation指南的链接,以防您发现我无法发现的内容:https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html#//apple_ref/doc/uid/TP40010188-CH5-SW14
谢谢,任何建议都非常感谢,我已经坚持了两个星期而且我的项目真的落后了。