【问题标题】:ShareKit skip share sheet iOS 8 for InstagramShareKit 跳过分享表 iOS 8 for Instagram
【发布时间】:2015-04-27 21:57:21
【问题描述】:

我正在使用 ShareKit 将图像从我的应用程序共享到 Instagram

UIImage *image = viewTheme.image;
SHKItem *item = [SHKItem image:image title:@"Check this out! "];
[SHK setRootViewController:self];
[SHKInstagram shareItem:item];

它会显示一个带有 Facebook 按钮和在 Instagram 中打开按钮的共享表。所以我想知道是否有一种方法可以直接调用 instagram 中的打开操作,或者,如果不可能,则删除那个 Facebook 按钮(如果可能的话,还有更多按钮)。

更新

我在应用委托中有这个

DefaultSHKConfigurator *configurator = [[MyShareConfigurator alloc] init];
    [SHKConfiguration sharedInstanceWithConfigurator:configurator];

我的配置器子类就是这个

- (NSString*)appName {
    return [[NSBundle mainBundle] infoDictionary][@"CFBundleDisplayName"];

}

- (NSString*)appURL {
    return @"https://github.com/ShareKit/ShareKit/";
}

# pragma mark - API Keys



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

- (NSString*)facebookLocalAppId {
    return @""; //Si no se usa se deja vacion
}

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


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

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

- (NSString*)twitterSecret {
    return @"naFO0wcOvGtoGJS6jPNFRREKYhfLTiXa9UtD1mRezzFP0q3Xcv";
}

- (NSString*)twitterCallbackUrl {
    return @"http://www.twitter.com";
}

- (NSNumber*)twitterUseXAuth {
    return [NSNumber numberWithInt:0];
}

- (NSString*)twitterUsername {
    return @"";
}


// Instagram crops images by default
- (NSNumber*)instagramLetterBoxImages {
    return [NSNumber numberWithBool:YES];
}

- (UIColor *)instagramLetterBoxColor
{
    return [UIColor whiteColor];
}

- (NSNumber *)instagramOnly {
    return [NSNumber YES];
}

#pragma mark - UI Configuration : Basic

- (NSNumber *)useAppleShareUI {
    return @YES;
}

- (UIColor*)barTintForView:(UIViewController*)vc {

    if ([NSStringFromClass([vc class]) isEqualToString:@"SHKTwitter"])
        return [UIColor colorWithRed:0 green:151.0f/255 blue:222.0f/255 alpha:1];

    if ([NSStringFromClass([vc class]) isEqualToString:@"SHKFacebook"])
        return [UIColor colorWithRed:59.0f/255 green:89.0f/255 blue:152.0f/255 alpha:1];

    return nil;
}

- (NSNumber*)showActionSheetMoreButton {
    return [NSNumber numberWithBool:false];// Setting this to true will show More... button in SHKActionSheet, setting to false will leave the button out.
}

我还创建了一个我正在尝试做的快速示例,您可以在此处下载:https://www.dropbox.com/s/n09gnq4ul3lcdtk/sharePodTest.zip?dl=0

【问题讨论】:

    标签: ios objective-c sharekit


    【解决方案1】:

    在您的配置器子类中实现此方法

    ///only show instagram in the application list (instead of Instagram plus any other public/jpeg-conforming apps) 
    - (NSNumber *)instagramOnly {
        return [NSNumber numberWithBool:YES];
    }
    

    编辑:我做了更多调查。 ShareKit 按预期工作,并根据Instagram dev guidelines。如果您将 instagramOnly 设置为 NO,您会看到更多选项。因此,Facebook 应用程序似乎也能够分享 @"com.instagram.exclusivegram" UTI,这对他们来说不是很好。但是,不幸的是,除了在 Facebook 提交错误报告外,我们无能为力。

    【讨论】:

    • 我已经实现了那个方法。分享到 whatsapp 时也会发生同样的事情
    • 您是否在 ShareKit 中注册了您的配置器子类?
    • 是的,我已经用配置器的代码更新了帖子
    • 我也更新了我正在做的一个简单的例子,谢谢!
    猜你喜欢
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多