独立线程在iOS上启动Unity
我创建了一个Unity3d项目。 我创建了一个单独的iOS项目,并将Unity库和类复制到新项目中。 我成功地完成了项目,并在项目中添加了其他UIViewController 我的问题是UnityController在主线程中工作,我不知道如何创建另一个线程,这样当Unity运行时主线程就不会被冻结 有什么建议吗 这是我的AppDelegate代码:独立线程在iOS上启动Unity,ios,objective-c,multithreading,unity3d,Ios,Objective C,Multithreading,Unity3d,我创建了一个Unity3d项目。 我创建了一个单独的iOS项目,并将Unity库和类复制到新项目中。 我成功地完成了项目,并在项目中添加了其他UIViewController 我的问题是UnityController在主线程中工作,我不知道如何创建另一个线程,这样当Unity运行时主线程就不会被冻结 有什么建议吗 这是我的AppDelegate代码: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOp
- (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];
}
你知道DispatchQueue吗?是的,我知道,我以前也使用过它,但在我的代码中使用unity,我不知道如何使用它。如果我把它放在didFinishLaunchingWithOptions来初始化unity,应用程序崩溃不确定它是否可取(我以前没有使用unity),但是你能把应用程序委托中的两个unity行包装在DispatchQueue.main.async调用中吗?这样Unity就可以在主线程上工作,但当Unity冻结时,仍然可以让你管理应用程序的其余部分,这就是我的想法,但是当我包装它的时候,应用程序崩溃了是的,从这个看来Unity不会让你在任何其他线程中运行它…但是我相信你应该能够在主线程上异步运行它:PDo你知道DispatchQueue吗?是的,我知道,我以前使用过它,但是在我的代码中使用Unity,我不知道如何使用它。如果我把它放在didFinishLaunchingWithOptions来初始化unity,应用程序崩溃不确定它是否可取(我以前没有使用unity),但是你能把应用程序委托中的两个unity行包装在DispatchQueue.main.async调用中吗?这种方式Unity可以在主线程上运行,但当Unity冻结时,仍然可以让你管理应用程序的其余部分。这是我的想法,但当我包装它时,应用程序崩溃。这看起来Unity不允许你在任何其他线程中运行它……但我相信你应该能够在主线程上异步运行它:P