首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过cocoapods安装的Sharekit现在没有分享facebook和twitter

通过cocoapods安装的Sharekit现在没有分享facebook和twitter
EN

Stack Overflow用户
提问于 2014-04-05 08:41:12
回答 1查看 810关注 0票数 0

根据以下文档,我有一个使用共享工具包的iphone应用程序,我安装时使用的是子模块:

https://github.com/ShareKit/ShareKit/wiki/Installing-sharekit

使用这种方法,Twitter和Facebook共享工作得很好。

现在我想转移到cocoapods,我把它添加到我的Podfile中:

代码语言:javascript
复制
pod 'ShareKit/Core'
pod 'ShareKit/Facebook', '~> 2.5.6'
pod 'ShareKit/Twitter', '~> 2.5.6'

做了一个荚更新,所有安装和编译都正常。

但是当我现在在应用程序中分享时,它并没有显示facebook和twitter的共享选项。

我对DefaultSHKConfigurator进行了子类划分,并实现了以下方法:

代码语言:javascript
复制
- (NSString*)appName {
    return @"XYZ App";
}

- (NSString*)appURL {
    return @"someurl";
}


- (NSNumber*)showActionSheetMoreButton {
    return [NSNumber numberWithBool:false];
}

- (NSString*)twitterConsumerKey {
    return @"customerKey";
}

- (NSString*)twitterSecret {
    return @"secretKey";
}
// You need to set this if using OAuth, see note above (xAuth users can skip it)
- (NSString*)twitterCallbackUrl {
    return @"someurl/oauth";
}

- (NSString*)facebookAppId {
    return @"555555555";
}

- (NSString*)facebookLocalAppId {
    return @"lite";
}


- (NSArray*)facebookWritePermissions {
    return [NSArray arrayWithObjects:@"publish_actions", nil];
}
- (NSArray*)facebookReadPermissions {
    return nil; // this is the defaul value for the SDK and will afford basic read permissions
}

- (NSArray*)defaultFavoriteURLSharers {
    return [NSArray arrayWithObjects:@"SHKMail",@"SHKTwitter",@"SHKFacebook", @"SHKTextMessage", nil];
}


- (NSArray*)defaultFavoriteImageSharers {
    return [NSArray arrayWithObjects:@"SHKMail",@"SHKTwitter",@"SHKFacebook", @"SHKTextMessage", nil];
}
- (NSArray*)defaultFavoriteTextSharers {
    return [NSArray arrayWithObjects:@"SHKMail",@"SHKTwitter",@"SHKFacebook", @"SHKTextMessage", nil];
}

- (NSNumber*)autoOrderFavoriteSharers {
    return [NSNumber numberWithBool:false];
}

- (Class)SHKActionSheetSubclass {
    return NSClassFromString(@"CustomSHKActionSheet");
}

- (NSNumber*)maxFavCount {
    return [NSNumber numberWithInt:4];
}

另外,在我的应用程序委托中,im明确地调用了自定义Configurator。

代码语言:javascript
复制
  DefaultSHKConfigurator *configurator = [[[SHKConfigurator alloc] init] autorelease];
    [SHKConfiguration sharedInstanceWithConfigurator:configurator];

我从调试中注意到的是唯一的方法:调用showActionSheetMoreButton,而不是任何其他方法。

我还注意到,SHKTwitter.m和SHKFacebook.m中的"canShare“方法都返回false。SHKiOSTwitter.m和SHKiOSFacebook.m中的"canShare“方法从未被调用过(这些是本地版本,因此我想应该调用它们)

你知道为什么这些分享者没有展示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 14:24:56

因此,使用SHKiOSFacebookSHKiOSTwitter而不是使用SHKFacebook和SHKTwitter:

代码语言:javascript
复制
- (NSArray*)defaultFavoriteURLSharers 
{
    return [NSArray arrayWithObjects:@"SHKiOSTwitter",@"SHKiOSFacebook", @"SHKReadItLater", nil];
}

注意:

如果您已经在应用程序中使用了Sharekit,那么defaultFavoriteURLSharers将不会被调用,因为Sharekit将从设备首选项中获取它们。为了处理它,您必须清理您的首选项(通过重新安装您的应用程序),甚至您还可以更改prefs存储在ShareKit/Core/SHK.m:favoritesKeyForItem中的键(不推荐)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22878610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档