0

私は自分の会社のためにこれを設定しようとしています: https ://developers.facebook.com/docs/tutorials/mobile-app-ads/

私はここの手順を使用してアプリに取り込みました: https ://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/

データを統合して取得する最初の試みから、これはiOS 6でのみ機能するようです。iOS6シミュレーター用のアプリを実行すると正常に動作しますが、iOS 5を実行している実際のデバイスでは、リンク中に失敗します
。ld:フレームワークが見つかりませんソーシャル

このFBSDK機能がiOS6以降のアプリでのみ機能するというのは本当ですか?もしそうなら、iOS4.3からiOS6+をサポートするアプリのFBモバイル広告レポートと統合する方法を知っている人はいますか?

ありがとう!

4

3 に答える 3

1

新しいSDKには実際には6が必要です。

エラーの原因はわかりませんが、ビルドの問題を解消するために、ビルドフォルダーをクリーンアップし、プロジェクトから派生データを削除し、Facebookライブラリを削除して再度追加しました。

次に、これがiOS 6より前の状況で爆発するのを防ぐために、これをアプリに追加しました。


+ (BOOL)isSocialFrameworkAvailable
{
    static BOOL available = NO;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        available = NSClassFromString(@"SLComposeViewController") != nil;        
    });
    return available;
}


- (BOOL)application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions
{
    // [...]    

    if ([[self class] isSocialFrameworkAvailable]) {        
        [FBSettings setLoggingBehavior:[NSSet setWithObjects:
                                        FBLoggingBehaviorFBRequests,
                                        FBLoggingBehaviorFBURLConnections,
                                        FBLoggingBehaviorAccessTokens,
                                        FBLoggingBehaviorPerformanceCharacteristics,
                                        FBLoggingBehaviorSessionStateTransitions, 
                                        nil]];
        NSDate *facebookIdPublishedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"facebookIdPublishedDate"];
        if (!facebookIdPublishedDate) {
            [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"facebookIdPublishedDate"];        
            [FBSettings publishInstall:@"XXXXXXXXXXXXXXXX"];
        }
    }    


    // [...]
}
于 2012-11-12T02:38:17.437 に答える
1

明確にするために、FacebookiOSSDKはOSバージョン4.3以降をサポートしています。ただし、iOS6を使用する場合は、「アカウント」、「AdSupport」、「ソーシャル」の3つのフレームワークをリンクする必要があります。これらのフレームワークをリンクするときは、iOS6より前のデバイスで実行するときにコンパイルエラーを回避するために、これらのフレームワークをオプションにすることに注意してください。

したがって、Facebook SDKは4.3以降をサポートしているため、モバイル広告のインストールはバージョン4.3以降で機能するはずです。

于 2012-11-12T19:26:57.387 に答える
0

新しいSDKにはiOS5または6が必要だと思います-5より前のバージョンのiOSで3.1SDKを使用する方法はないと思います-5と6の両方のサポートの詳細については、iOS5とiOS6でFacebookを参照してくださいが、私はしませんこれは4に当てはまると思います

于 2012-11-08T23:28:36.653 に答える