一, 目标文件: UnityAppController.mm
1, 这个文件就是APP启动文件,里面有周期函数
二, UnityAppController.mm的重写 (必须以AppController为后缀)
1, 原因: UnityAppController.mm是Unity打包每次都会生成的,如果我们直接改写UnityAppController.mm文件,下次打包依然会被覆盖。那就永远在悲剧了。。。。。。
2,在Plugins/iOS下 建MyUnityAppController文件(h和m), 如下
2.1 准备MyUnityAppController.h 和 MyUnityAppController.m文件
//
// MyUnityAppController.h
// Unity-iPhone
//
// Created by mac on 2022/4/17.
//
@interface MyUnityAppController : UnityAppController
@end
/* MyUnityAppController_h */
//
// MyUnityAppController.m
// Unity-iPhone
//
// Created by mac on 2022/4/17.
//
@implementation MyUnityAppController
@end
IMPL_APP_CONTROLLER_SUBCLASS(MyUnityAppController);//*以MyUnityAppController为启动项
注意使用 IMPL_APP_CONTROLLER_SUBCLASS
三, 重写MyUnityAppController.m实现UnityAppController.mm的相关方法
1, didFinishLaunchingWithOptions , 游戏运行起来后就调用
适用场景: 接SDK需要注册的时候
//
// MyUnityAppController.m
// Unity-iPhone
//
// Created by mac on 2022/4/17.
//
@implementation MyUnityAppController
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
[super application:application didFinishLaunchingWithOptions:launchOptions];
NSLog(@"hello by Aonaufly!");
return YES;
}
@end
IMPL_APP_CONTROLLER_SUBCLASS(MyUnityAppController);//*以MyUnityAppController为启动项