1

这些天我正在为统一游戏 facebook 集成编写一个 iOS 静态库。静态库功能已完成,并且运行良好。我面临的一个问题是我的静态库代码中没有任何 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,实现所需的功能并要求您的库的用户继承他AppDelegateStaticLibAppDelegate.

StaticLibAppDelegate将继承自UIApplicationDelegate. 要求用户从您的库需要的各种委托方法中调用super实现。

例如:在他的应用程序委托中,如果用户覆盖application:openURL:sourceApplication:annotation:然后要求他打电话

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

从他的执行。

希望有帮助!

于 2013-08-28T07:09:10.750 回答