在iOS中打开youTube无法正常工作

时间:2016-02-27 15:21:16

标签: ios youtube

我正在尝试在我的应用中创建一个YouTube应用

加载webView的Mt源代码是:

ViewController头文件:

@interface ViewController : UIViewController

@property (nonatomic, strong) UIWebView *webView;

@end

ViewController实现文件      - (void)viewDidLoad {     [super viewDidLoad];     //在加载视图后进行任何其他设置,通常是从笔尖。

self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)];
self.webView.layer.borderWidth = 1.0;
self.webView.layer.borderColor = [UIColor redColor].CGColor;

self.webView.backgroundColor = [UIColor blackColor];

self.webView.center = self.view.center;

[self.view addSubview:self.webView];

NSString* embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
    background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";

NSURL *url = [NSURL URLWithString:@"https://www.youtube.com/watch?v=K14RnTVt194"];

NSString* html = [NSString stringWithFormat:embedHTML, url, self.webView.frame.size.width, self.webView.frame.size.height];

[self.webView loadHTMLString:html baseURL:nil];

}

运行时,我的应用程序崩溃并给我以下屏幕

enter image description here

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您的代码运行正常,因此问题不在于webview。您可以在左侧面板上看到“线程1 ”,并在线程崩溃前的最后一个进程显示“__psynch_mutexwait”。在某些情况下,您可能会收到此错误;

  1. 错误集NSTimer
  2. 设置错误或无法管理NSNotification(尤其是键值观察者)
  3. 其中一个对象尝试在后台线程上访问CoreData对象,同时使用主线程上下文或同时在不同线程(背景或主要)上使用相同的托管对象上下文。
  4. 尝试检查您是否在这种情况下做错了什么。另外,尝试异步操作你尝试的东西;

    dispatch_async(dispatch_get_current_queue(), ^{
        // The work that needs to be done on main thread
    });
    

答案 1 :(得分:0)

我认为崩溃是在你的stringWithFormat调用中,因为我试图替换&#34;%@&#34;在您的embedHTML中使用NSURL对象,而不是NSString。