根据以下文档,我有一个使用共享工具包的iphone应用程序,我安装时使用的是子模块:
https://github.com/ShareKit/ShareKit/wiki/Installing-sharekit
使用这种方法,Twitter和Facebook共享工作得很好。
现在我想转移到cocoapods,我把它添加到我的Podfile中:
pod 'ShareKit/Core'
pod 'ShareKit/Facebook', '~> 2.5.6'
pod 'ShareKit/Twitter', '~> 2.5.6'做了一个荚更新,所有安装和编译都正常。
但是当我现在在应用程序中分享时,它并没有显示facebook和twitter的共享选项。
我对DefaultSHKConfigurator进行了子类划分,并实现了以下方法:
- (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。
DefaultSHKConfigurator *configurator = [[[SHKConfigurator alloc] init] autorelease];
[SHKConfiguration sharedInstanceWithConfigurator:configurator];我从调试中注意到的是唯一的方法:调用showActionSheetMoreButton,而不是任何其他方法。
我还注意到,SHKTwitter.m和SHKFacebook.m中的"canShare“方法都返回false。SHKiOSTwitter.m和SHKiOSFacebook.m中的"canShare“方法从未被调用过(这些是本地版本,因此我想应该调用它们)
你知道为什么这些分享者没有展示吗?
发布于 2014-04-07 14:24:56
因此,使用SHKiOSFacebook和SHKiOSTwitter而不是使用SHKFacebook和SHKTwitter:
- (NSArray*)defaultFavoriteURLSharers
{
return [NSArray arrayWithObjects:@"SHKiOSTwitter",@"SHKiOSFacebook", @"SHKReadItLater", nil];
}注意:
如果您已经在应用程序中使用了Sharekit,那么defaultFavoriteURLSharers将不会被调用,因为Sharekit将从设备首选项中获取它们。为了处理它,您必须清理您的首选项(通过重新安装您的应用程序),甚至您还可以更改prefs存储在ShareKit/Core/SHK.m:favoritesKeyForItem中的键(不推荐)。
https://stackoverflow.com/questions/22878610
复制相似问题