用于目标 C 的 YouTube API 在 GTLYouTubeResourceId 的名称"videoId?:"中有一个"?"(问号)



我真的相信这在某些时候有效,但是当它到达这里时,它会丢弃异常并崩溃:

GTLYouTubeResourceId *thisVideo = item.identifier;
NSString *myVidId = thisVideo.videoId;

这是错误:

2012-12-17 10:13:02.494 STATS[21427:11603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GTLYouTubeVideo videoId]: unrecognized selector sent to instance 0xc471500'
*** First throw call stack:
(0x1e15012 0x16b2e7e 0x1ea04bd 0x1e04bbc 0x1e0494e 0x6e11 0x4ae5a 0x16c66b0 0xde7035 0x1d98f3f 0x1d9896f 0x1dbb734 0x1dbaf44 0x1dbae1b 0x276f7e3 0x276f668 0x2ee65c 0x278d 0x26b5)
libc++abi.dylib: terminate called throwing an exception

从 API 返回的 JSON 在视频 ID 标题中使用 ?

2012-12-17 10:20:46.476 STATS[21630:11603]      *****  YOUTUBe thisVideo GTLYouTubeVideo 0x8267fe0: {kind:"youtube#video" videoId?:"AAAAAAAA"}

遇到了同样的问题,并通过做这样的事情解决了它。 显然,返回的 JSON 字符串中有 videoId。

NSString *myVidId = [thisVideo.JSON objectForKey:@"videoId"];

我在你之后大约一个小时遇到了完全相同的问题!看起来他们忘记将videoId映射到属性。如果您将此视频更改为GTLYouTubeVideo类,如下所示:

GTLYouTubeVideo *thisVideo = (GTLYouTubeVideo *)item.identifier;

然后转到GTLYouTube.m文件并将@"id","@"标识符"更改为@"videoId","@"标识符"它将起作用。这可能不是官方方式,但他们没有提供任何关于将 YouTube 集成到应用程序中的文档,所以这必须这样做!

希望对你有帮助

相关内容

  • 没有找到相关文章

最新更新