1

最近、ユニティ ゲーム Facebook 統合用の iOS 静的ライブラリを作成しています。静的ライブラリの機能が完了し、完璧に動作します。私が直面している問題の 1 つは、静的ライブラリ コード内に appdelegate がないため、追加できないことです

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
        NSLog(@"openURL");
    return [FBSession.activeSession handleOpenURL:url];
}

どこでも。このメソッドは、アプリの切り替え時にアプリの切り替えを制御して、読み取りまたは公開のアクセス許可を取得するために必要でした。デモ プロジェクトを作成し、このメソッドをデモ プロジェクトのアプリ デリゲートに追加したところ、完璧に動作しますが、このメソッドをデモ プロジェクトの Appdelegate に追加しないと、アプリの切り替えは行われません。Unity から出力を取得した後、プラグイン ユーザーがこのメソッドを手動で追加することは望ましくありません。

それを理解する方法はありますか?そのため、アプリの切り替えは完璧に機能します。静的ライブラリ クラスなどに appdelegate を追加する必要がありますか。

4

1 に答える 1

1

静的ライブラリにを作成しStaticLibAppDelegate、必要な機能を実装して、ライブラリのユーザーに自分の を継承するよう依頼する必要がありAppDelegateますStaticLibAppDelegate

StaticLibAppDelegateから継承しUIApplicationDelegateます。superライブラリが必要とするさまざまなデリゲート メソッドから実装を呼び出すようにユーザーに依頼します。

例: 彼のアプリケーション デリゲートで、ユーザーがオーバーライドする場合application:openURL:sourceApplication:annotation:は、彼に電話するように依頼します。

[super application:application openURL:url sourceApplication:sourceApplication annotation:annotation];

彼の実装から。

それが役立つことを願っています!

于 2013-08-28T07:09:10.750 に答える