2

我在我的应用程序中添加了 Facebook 应用程序邀请功能,下面是我发送应用程序邀请的代码

    let content = FBSDKAppInviteContent()
    content.appLinkURL = NSURL(string: "applinkurl")
    content.appInvitePreviewImageURL = NSURL(string: "appInvitePreviewImageURL")
    FBSDKAppInviteDialog.showWithContent(content, delegate: self);

我在课堂上添加了以下扩展名

extension FACEBOOKTEXT:FBSDKAppInviteDialogDelegate {
    //MARK: FBSDKAppInviteDialogDelegate
    func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didCompleteWithResults results: [NSObject : AnyObject]!) {
        print("invitation made")
    }
    func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didFailWithError error: NSError!) {
        print("error made")
    }

在应用程序委托中:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
    var shouldReturn:Bool = FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation);

    shouldReturn = shouldReturn || GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication, annotation: annotation);
    shouldReturn = shouldReturn || Instagram.sharedManager().handleOpenURL(url);
    shouldReturn = shouldReturn || LinkedInBridge.handleURL(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation);

    return shouldReturn;
}

我已经从 facebook 门户配置了“应用程序链接”并将其放入 infi.plist 和 content.appLinkURL。

在运行此代码时,将发送应用邀请。当应用程序邀请的接收者在 android 上时,邀请会列在 facebook 的通知感觉中,并且用户可以通过它安装应用程序。但是,如果邀请的接收者在 iOS 上,则邀请不会在用户的通知提要中列出,但是如果用户转到 facebook -> More(tab) -> apps -> App邀请,则此处列出了邀请。

请指导我哪里做错了。以及我应该怎么做才能在 iOS 的通知中列出邀请,就像 android 一样。我正在使用 Xcode 6.4 和 Swift 1.2 这适用于 iOS 8 但不适用于 iOS 9

提前致谢,

4

1 回答 1

0

将以下 URL 方案添加到您的 info.plist 以使其在 iOS 9 中工作

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbapi</string>
        <string>fbapi20130214</string>
        <string>fbapi20130410</string>
        <string>fbapi20130702</string>
        <string>fbapi20131010</string>
        <string>fbapi20131219</string>
        <string>fbapi20140410</string>
        <string>fbapi20140116</string>
        <string>fbapi20150313</string>
        <string>fbapi20150629</string>
        <string>fbapi20160328</string>
        <string>fbauth</string>
        <string>fbauth2</string>
        <string>fb-messenger-api20140430</string>
        <string>fb-messenger-platform-20150128</string>
        <string>fb-messenger-platform-20150218</string>
        <string>fb-messenger-platform-20150305</string>
        <string>fb-messenger-api</string>
        <string>fbshareextension</string>
    </array>

另外做以下两件事 1. 打开 facebook.com -> 设置 -> 应用程序 -> 如果已授予应用程序权限,请删除您的应用程序

  1. 打开移动 facebook 应用程序 -> 点击更多(最后一个选项卡)-> 应用程序 -> 应用程序邀请 -> 如果任何应用程序邀请已经存在,则删除。

希望这对你有用。

于 2016-06-07T11:38:07.293 回答