最近一段时间在接入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了