iOS: FBSDKShareDialog Açılış Uygulaması ancak Kullanıcının Bağlantı Paylaşmasına İzin Verme

Yeni Facebook SDK'yı üzerinde çalıştığım bir uygulamaya entegre etmeye çalışıyorum ve ne zaman olursa olsun paylaşım ekranının gelmediği bir bağlantıyı denediğimde paylaşıyorum. Facebook uygulamasına atıldım (veya yüklü bir Facebook uygulaması yoksa web uygulaması), ancak kullanıcının göndermesini sağlamaya çalıştığım bağlantıyı paylaşma seçeneğim olmadı.

Facebook geliştirici sitesindeki örneği hemen hemen bir T olarak takip ettim, ancak referans olarak işte benim kodum:

- (IBAction)shareToFacebook:(id)sender {
    NSLog(@"Share to Facebook");
    FBSDKShareLinkContent *content = [FBSDKShareLinkContent new];
    content.contentURL = [NSURL URLWithString:@"http://google.com"];
    content.contentTitle = @"Test Post!";
    content.contentDescription = @"Content Description;
    FBSDKShareDialog *shareDialog = [FBSDKShareDialog new];
    [shareDialog setMode:FBSDKShareDialogModeAutomatic];
    [shareDialog setShareContent:content];
    [shareDialog setFromViewController:self];
    [shareDialog show];
//    [FBSDKShareDialog showFromViewController:self withContent:content delegate:nil];
}

Yukarıda gördüğünüz gibi, Facebook'un dokümantasyonunda kullandığı kolaylık yöntemini kullanmanın yanı sıra daha ayrıntılı olmakla da çalıştım, ancak her ikisi de aynı sonucu verdi (Facebook uygulamasını açmak ancak kullanıcıya herhangi bir içeriği paylaşma seçeneği sunmamak ). Herhangi bir yardım çok takdir edilecektir!

0

7 cevap

sana kod ekle

  1. [shareDialog setDelegate:self]

  2. to your class

  3. FBSDKSharing code

    #pragma mark - FBSDKSharingDelegate
    - (void)sharer:(id)sharer didCompleteWithResults :(NSDictionary *)results {
       NSLog(@"FB: SHARE RESULTS=%@\n",[results debugDescription]);
    }
    
     - (void)sharer:(id)sharer didFailWithError:(NSError *)error {
       NSLog(@"FB: ERROR=%@\n",[error debugDescription]);
    }
    
    - (void)sharerDidCancel:(id)sharer {
       NSLog(@"FB: CANCELED SHARER=%@\n",[sharer debugDescription]);
    }
    

kırılma noktasını didFailWithError 'de ayarlayın ve çok sayıda temel hata tanımını görebilirsiniz.

2
katma

Bu örnek, uygulamadan facebook'a görüntüyü hızlı bir şekilde kullanarak paylaşma

     func shareWithFacebook(){

            let share : FBSDKShareLinkContent = FBSDKShareLinkContent()

            share.imageURL = NSURL(string: "image url")
            share.contentTitle = "content description "
            share.contentURL = NSURL(string: "https://www.example.com")

            let dialog : FBSDKShareDialog = FBSDKShareDialog()
            dialog.fromViewController = self
            dialog.shareContent = share
            let facebookURL = NSURL(string: "fbauth2://app")
            if(UIApplication.sharedApplication().canOpenURL(facebookURL!)){
                dialog.mode = FBSDKShareDialogMode.Native
            }else{
                dialog.mode = FBSDKShareDialogMode.FeedWeb
            }
            dialog.show()
}

Facebook çerçeve eklemeyi unutma

1
katma

FBSDKShareDialogMode.h 'de belirtildiği gibi:

@discussion Otomatik mod kademeli olarak farklı modların kullanılabilirliğini kontrol eder ve en iyisini açar.    kullanılabilir iletişim kutusu için uygun mod.

Bu yüzden başka bir Paylaşım İletişim Modu 'nu seçin .

0
katma
Bu aslında sorunu çözmüyor olsa da ... Diğer modları (FBSDKShareDialogModeShareSheet, FBSDKShareDialogModeNative, vb.) Denedim ama hala ayarlamaya çalıştığım içeriği çekmiyor. En iyi ihtimalle bağlantıyı bulabilirim, ancak Paylaşım İletişim Modunu değiştirerek görüntülemek için contentTitle veya contentDescription 'ı alamam.
katma yazar ImpurestClub, kaynak

Native iOS uygulamasıyla Facebook'ta paylaşmak için. Uygulamada yüklü olan FB SDK'nın güncellenmesi gerekiyor.

Kurmak için Pod kullandım. Pod'un Mac'e kurulmasını sağlayan bağlantı: https://cocoapods.org

Pod dosyasına dosya adı yazın:

pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'

or
manual installation please follow : https://developers.facebook.com/docs/sharing/ios

FB SDK'ların başarıyla kurulumundan sonra.

Düğme işlemine kod yaz:

        FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
        content.contentURL = [NSURL URLWithString:@"https://AppLink"];
        content.quote = @"Sample description of app";

        [FBSDKShareDialog showFromViewController:self
                                     withContent:content
                                        delegate:nil];

Yerel veya Web'i otomatik olarak idare eder (kurulmazsa)

0
katma

Sadece bir iPhone'da bu sorunu yaşadım, diğer iPhone'larda iyi çalıştı. Bu cihazdaki Facebook uygulamasının modası geçmiş olduğu ve dolayısıyla FBSDKShareDialog'un görünmediği ortaya çıktı. Facebook uygulaması en son sürüme güncellendiğinde, FBSDKShareDialog iyi çalışmaya başladı.

0
katma

Bu modu kullanmaya çalışın:

dialog.mode = FBSDKShareDialogModeFeedWeb
0
katma
@VojtechVrbka Bu nasıl bir cevap vermiyor? Tamamen yanlış olabilir, ancak bu silmemiz gerektiği anlamına gelmez. İnceleme yaparken lütfen dikkat edin.
katma yazar Undo, kaynak
Bu soruya bir cevap vermiyor. Bir yazarın açıklamasını eleştirmek veya talep etmek için yazının altında bir yorum bırakın. - Yorumdan
katma yazar Vojtech Vrbka, kaynak

Aslında uygulama için info.plistemde küçük bir yazım hatası olduğu ortaya çıktı. Sadece orada ayarladıkları tüm bilgileri kontrol etmek ve hepsinin doğru olduğundan emin olmak için benzer bir hatayla karşılaşan herkese.

0
katma
bana ne yaptığını söyleyebilir misin
katma yazar abdulrauf618, kaynak
paylaşımdan sonra doğru dönüş alıyorsunuz, şimdi mesajım arkadaşlara gidiyor ama geri geldiğinde her zaman sharerDidCancel :(
katma yazar abdulrauf618, kaynak
@ abdulrauf618 Eğer hatırlarsam, plise eklerken URL programımın önüne "fb" koymayı unutmuştum.
katma yazar ImpurestClub, kaynak