又是一周一次的周五了,哈哈。小版主今天给大家分享一个有关iPhone开发的小心得吧。上次的帖子是分享功能的具体实现。这一次就详解一下可能会遇到的具体问题吧。
(请确保你已经能够访问国外的网站的前提下,因为我们要做的分享到facebook和twitter)
1、Twitter开发者个人中心的app配置,需要到Twitter开发者个人中心(http://dev.twitter.com/apps/),如果已经有创建自己的应用程序可以直接找到对的应用程序,并且填入对应的信息,如:AppName,CallbackUrl以及相对应的可用级别(Readonly,Read and Wriite,Read、Wriite and Direct Message)等。
(ConsumerKey、Secret和会自动生成,CallbackUrl需要自行填写)
2、正确的填写你的App信息到你的项目的配置文件(SHKConfig.h),如下:- #define SHKTwitterConsumerKey @"azDFsdehzhdxx8jJlXXXxxau"
- #define SHKTwitterSecret @"wyK0PcXXXXdssXXzcyznOeXRewsXXXXX7sXXXX"
- #define SHKTwitterCallbackUrl @"http://xxxx.com/XX"
- #define SHKTwitterUseXAuth 0
复制代码 以上信息请按照你的开发者个人中心的程序对应填入。其中CallbackUrl必须填写,与你个人中心的CallbackUrl一致(必须一致,可随意填写),不然将会报错。如下图:
error
3、分享到Twriter的分享界面其取消按钮功能无效,需要做出修改,应该先找到项目中ShareKit包下面的SHK.m文件,然后找到hideCurrentViewControllerAnimated方法,并且修改如下: - - (void)hideCurrentViewControllerAnimated:(BOOL)animated
- {
- if (isDismissingView)
- return;
-
- if (currentView != nil)
- {
- // Dismiss the modal view
- if ([currentView parentViewController] != nil)
- {
- self.isDismissingView = YES;
- [[currentView parentViewController] dismissModalViewControllerAnimated:animated];
- } else if ([currentView presentingViewController] != nil) {
- self.isDismissingView = YES;
- [[currentView presentingViewController] dismissModalViewControllerAnimated:animated];
- }
-
- else
- self.currentView = nil;
- }
- }
复制代码 这样一来,分享推文界面的取消按钮功能就OK了。
4、一个灰常纠结却又不易发现的问题。触摸分享按钮发送推文,却一直报错:Unknow error。这下可无语了。不知为何,到了最后却来一个这个错误,于是小版主是上了google又去了Stackoverflow,也到了cocoachina苹果开发者论坛,然后找遍twitter国外的论坛,发现了不少人遇到了这个问题,但是还是没有找出个所以然啊。决心看看ShareKit的有关Twitter的源码.又想起好像之前在论坛上有人提起是一个url的问题。找到这么一句- OAMutableURLRequest *oRequest = [[OAMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://api.twitter.com/1/statuses/update.json"]
复制代码 抱着试一试的心态,将其改成:- OAMutableURLRequest *oRequest = [[OAMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://api.twitter.com/1/statuses/update.json"]
复制代码 oh,yes。终于是分享成功了。也分享一下喜悦吧。
share
好了,今天的分享就到这里了哦。希望和大家共同交流,相互学习。
|