Categories: 技术原创

Twitter SDK使用教程(Twitter SDK填坑记录)

最近一段时间在接入Twitter SDK,发现简直是超级麻烦,怕忘记,所以记录一下

准备工作
1. 首先你得能翻越长城(废话)
2. 需要在 https://apps.twitter.com注册Twitter账号,然后申请应用并拿到consumerKey 和 consumerSecret (体力活儿不详述)
3. 需要在 https://fabric.io 注册fabric账号 (体力活儿不详述)
4. 安装CocoaPods(用于查找SDK的下载地址,本人鲁钝,没有找到公开的下载地址),天朝安装命令如下

1
2
3
4
5
6
7
8
// 替换Ruby gem sources, 淘宝源已经停止维护了,所以使用ruby china镜像,如果有其它源可自行配置
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
gem sources -l
// 安装CocoaPods,这个命令安装的是发布版本
sudo gem install cocoapods
// 如果想要安装开发版本请用如下命令
sudo gem install cocoapods --pre

到这里,上面的准备工作应该已经好了

如果遇到Ruby权限不够,版本不对什么的可以尝试如下命令

1
sudo gem update --system

重点来了,这里提供两种不一样的SDK配置方法

方法一:使用CocoaPods直接配置,参见这里

首先在pods文件中加入这二行

1
2
pod 'Fabric'
pod 'TwitterKit'

然后cd到你的工程目录下(Podfile的位置),执行如下代码

1
pod install

如果提示repos初始化不成功请执行如下代码手动初始化

1
2
3
cd ~/.cocoapods/repos/
git clone https://github.com/CocoaPods/Specs.git master
pod update

漫长的等待后,打开工程,在targets-> Build Phases设置项中添加自定义脚本,在这个页面的中间位置登录fabric账号后可以看到具体的脚本

然后在刚才页面的Account Provisioning and Terms of Service栏目下点击I already have a Twitter application,填入上面准备工作中注册的consumerKey 和 consumerSecret

然后页面往下拖,复制如图部分到info.plist中配置好即可

方法2:不适用CocoaPods自动配置,手搓(我使用的方法)

首先,找到Fabric.framework,TwitterKit.framework,TwitterCore.framework这三者的下载地址,在终端输入命令

1
pod search TwitterKit

得到结果如图,红框内的地址复制到浏览器下载即可,其它两个使用同样的方法进行操作

到这里我们已经下载好了三个SDK,然后我们将这三个framework拖到工程里面
打开工程,在targets-> Build Phases设置项中添加自定义脚本, 脚本如下

1
2
// 根据项目具体路径情况替换Sudy/ThirdLibs/Twitter这部分路径,FABRIC_API_KEY, BUILD_SECRET 在<span style="color: #3366ff;"><a style="color: #3366ff;" href="https://fabric.io/kits/ios/twitterkit/install" target="_blank">这里</a></span>取得
"${PROJECT_DIR}/Sudy/ThirdLibs/Twitter/Fabric.framework/run"

然后在刚才页面的Account Provisioning and Terms of Service栏目下点击I already have a Twitter application,填入上面准备工作中注册的consumerKey 和 consumerSecret

然后页面往下拖,复制如图部分到info.plist中配置好即可

最后在APP启动的时候加入启动代码:

1
2
3
4
5
6
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [[Twitter sharedInstance] startWithConsumerKey:kTwitterAppKey
                                  consumerSecret:kTwitterAppSecret];
  [Fabric with:@[[Twitter class]]];
}

然后,你以为就结束了吗,并没有,上面的两句代码一运行就会Crash,而且不报错
此刻,你需要将如图bundle也拖动到工程中

最终结果如图

至此,终于可以愉快的使用Twitter SDK了

龚杰洪

Recent Posts

GOLANG面试八股文-并发控制

背景 协程A执行过程中需要创建…

1 年 ago

MYSQL面试八股文-常见面试问题和答案整理二

索引B+树的理解和坑 MYSQ…

1 年 ago

MYSQL面试八股文-InnoDB的MVCC实现机制

背景 什么是MVCC? MVC…

1 年 ago

MYSQL面试八股文-索引类型和使用相关总结

什么是索引? 索引是一种用于加…

1 年 ago

MYSQL面试八股文-索引优化之全文索引(解决文本搜索问题)

背景:为什么要有全文索引 在当…

1 年 ago