我正在尝试将适用于iOS的YouTube Data API v3集成到我的项目中。最后,我想要做的是将应用程序的所有实例中的视频上传到公司拥有的YouTube频道,并获取能够将视频嵌入网站的URL。我无法弄清楚如何为iOS集成客户端库。我得到编译错误,或ARC问题,我无法弄清楚如何解决。这些文件位于:https://code.google.com/p/google-api-objectivec-client/source/checkout
答案 0 :(得分:1)
简而言之,这就是我所做的:
在我的项目中,我添加了GTLYouTube_Sources.m,GTLCommon_Sources.m和GTLNetworking_Sources.m。 确保Build Phases - >编译源编译器标志' -fno-objc-arc'为这三个文件设置。这应该可以解决您的ARC问题。 如果编译器抱怨它无法找到文件,您可能需要在Build Settings中设置一些搜索路径。
希望这有帮助!
答案 1 :(得分:0)
我遇到了问题,但谷歌的网页+ youtube教程的组合我能够让事情有效,我还不知道如何搜索,但这里有关于这个问题的笔记:
此文件指向正确的方向 - https://code.google.com/p/google-api-objectivec-client/wiki/BuildingTheLibrary
此视频效果更佳 - https://www.youtube.com/watch?v=q7m3qCsQBEE
根据我对视频流的评论 - "
我做了本教程并收到9个链接器错误,这些错误引用了派生数据文件夹,并且该文件是为存档而构建的,而不是被链接的体系结构(x86_64)"但是有标准架构"在项目的构建设置中选择(armv7,arm64)。这是使用Xcode 6,但如果需要我可以试用Xcode 5.1.1(虽然我不认为这个问题会因为它支持64位架构而减弱。进入GTL项目并选择GTLTouchStaticLib并更改架构到标准删除了链接器错误,构建成功!https://www.dropbox.com/s/f6tc6t33r5k5021/Screenshot%202014-10-10%2012.08.00.png?dl=0“
尽管由于已知问题而拥有API密钥,但API调用仍然可以使用401 - 要修复https://code.google.com/p/gdata-issues/issues/detail?id=5770#makechanges,请从Google控制台中删除捆绑包ID。
答案 2 :(得分:0)
我正在为这个问题提供更新的答案。所以它对社区有帮助。
注意: - GTL转换为GTLR。 GoogleLibrary已更新。我建议使用cocoapods,因为它很简单。(据我所知)这里是此link的移植
1)为您的项目创建pod文件。由pod init
&您终端中的pod install
。它将创建空白吊舱安装。(如果已经完成则忽略)
2)在pod文件中添加这些pod库名称
这是一些有用的services
pod 'GoogleAPIClientForREST'
pod 'GoogleAPIClientForREST/YouTube' //here '.../YouTube' is the service. you can use ".../Caledar' ,".../Translate" or which you want.
pod 'GTMAppAuth'
3)添加这些标题(我建议为您的项目创建前缀标题'.pch'。)
#import <GTMAppAuth/GTMAppAuth.h>
#import <AppAuth/AppAuth.h>
#import "GTLRYouTube.h" //here you can change double quotation ("...") with (<...>) if this throws the error "library not found".
4)此步骤是可选的。
选择您的项目目标&amp;转到build settings
。并搜索OtherLinkerFlags
并添加$(inherited)
注意: - if you can use Firebase to use google's service it will be more easy.(i've tried it and it was simple than google developer console. this is my personal opinion.)