此文为备忘记录,实际开发过程 Twitter 给出了比较方便的工具 Fabric 和详尽的文档,不赘述。
相关站点:
Twitter 开发者网站
Fabric Twitterkit
Fabirc 文档
0.注册
在开始之前你要在 https://apps.twitter.com/app 上注册你的帐号和应用,并下载Fabric 。
1.使用 Fabric 下载框架
这是 Twitter 提供给开发者的一个便捷工具,下载 mac 版本登录后会让你选择 Xcode 工程,然后点击即可安装相关插件,跟着 Fabric 一步一步做就可以了。
遇到的问题:
Fabric 有一步是让你拖动文件夹到 Xcode 里面,但是我拖动到时候遇到了 版本控制错误(1)。
目测问题是:它下载的时候是放到了工程的根目录下,而我拖动的时候选择了 Frameworks 文件夹,并选上 copy if need。
解决办法是:先按 Fabric 的提示拖到 Xcode 上的根目录,然后再拖到你想让它去的文件夹。(并没有对比实验,在做这一步的时候还删掉了之前的 Crashlytics )
2.配置
使用 Fabric 安装完想要的框架后,它会提示一些相关的配置。这边结合文档简述一下:
1.在 Buiding Phases 配置 Run Script ;
2.配置 info.plist APIKey(TwitterKit 内要替换成你自己的 twitter_key 和 twitter_screct ,如果没有配置的话,要在 [Fabric with:@[[Twitter class]]];
之前调用- (void)startWithConsumerKey:(NSString *)consumerKey consumerSecret:(NSString *)consumerSecret;
);
3.在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
里调用[Fabric with:@[[Twitter class]]];
4.所使用的 TwitterKit 的系统最低要求为 iOS8;
5.如果有跳转需要,要配置 URL Types ,配置内容为 twitterkit-[加上] twitter_key
(此次做登录,可不配);
6.在 Buid Phases -> Link Binary With Libraries 中 引入 SafariServices.framework 。
3.登录
TwitterKit 提供了很多种登录的方式,Fabric 中的例子提供了带登录按钮的代码。
不带按钮的一般使用- (void)logInWithCompletion:(TWTRLogInCompletion)completion;
来登录,它会从 iOS 系统中读取 Twitter 帐号,如果没有在系统中配置,允许弹出在网页中登录(这也是要加入 SafariServices.framework 的原因)。
遇到的问题:
我的 app 的登录页是 present 出来的,在获取不到系统的 Twitter 帐号后,会被 dismiss ,估计是因为获取失败后,弹出 webView 导致的。
解决办法:(目前还没找到比较完美的解决办法)
方法1.不用 present 的方式显示登录页;
方法2.使用- (void)logInWithMethods:(TWTRLoginMethod)methods completion:(TWTRLogInCompletion)completion;
,TWTRLoginMethod 选择 TWTRLoginMethodSystemAccounts 。此方法只从系统中获取 Twitter 帐号,如果系统中没有配置就获取不到。
End