单独的线程在iOS上启动Unity

时间:2017-02-15 04:28:19

标签: ios objective-c multithreading unity3d

我创建了一个Unity3d项目。 我创建了一个单独的iOS项目,并将Unity库和类复制到新的项目中。 我成功地在项目中共进午餐,并在项目中添加了其他UIViewControllers。

我的问题是UnityController正在主线程中工作,我不知道如何创建另一个线程,因此在Unity发布时主线程不会被冻结。

有什么建议吗?

这是我的AppDelegate代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor redColor];
    ViewController *viewController = [[ViewController alloc] initWithNibName:nil bundle:nil];
    self.navVC = [[UINavigationController alloc]initWithRootViewController:viewController];
    self.window.rootViewController = self.navVC;

    self.unityController = [[UnityAppController alloc] init];
    [self.unityController application:application didFinishLaunchingWithOptions:launchOptions];

    [self.window makeKeyAndVisible];
    return YES;
}

在我的ViewController上,当我按下按钮更改为unity时,我在AppDelegate中调用showUnityWindow

- (UIWindow *)unityWindow {
    return UnityGetMainWindow();
}
- (void)showUnityWindow{
    [self.unityWindow makeKeyAndVisible];
}

0 个答案:

没有答案