參考文章:https://blog.csdn.net/huanguuuu1234567/article/details/78027207
在 Unity 插件目錄下創(chuàng)建以下文件:
/path/to/unity/project/Assets/Plugins/iOS/CustomAppController.mm
參考原文中有一處修正拳亿,即是需先#import "UnityAppController.h"
下面以極光推送SDK 為例:
#import "JPUSHService.h"
#import "JPushEventCache.h"
#import <UserNotifications/UserNotifications.h>
// 如需使用廣告標識符 IDFA 則添加該頭文件,否則不添加犬庇。
#import <AdSupport/AdSupport.h>
#import "UnityAppController.h"
@interface CustomAppController : UnityAppController
@end
IMPL_APP_CONTROLLER_SUBCLASS (CustomAppController)
@implementation CustomAppController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[JPushEventCache sharedInstance] handFinishLaunchOption:launchOptions];
/*
不使用 IDFA 啟動 SDK兼犯。
參數(shù)說明:
appKey: 極光官網(wǎng)控制臺應用標識领斥。
channel: 頻道定页,暫無可填任意奸晴。
apsForProduction: YES: 發(fā)布環(huán)境;NO: 開發(fā)環(huán)境监署。
*/
[JPUSHService setupWithOption:launchOptions appKey:@"b8213ec93d03ff11a560f516" channel:@"" apsForProduction:NO];
return YES;
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// Required.
[JPUSHService registerDeviceToken:deviceToken];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
// Required.
[[JPushEventCache sharedInstance] sendEvent:userInfo withKey:@"JPushPluginReceiveNotification"];
[JPUSHService handleRemoteNotification:userInfo];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler {
[[JPushEventCache sharedInstance] sendEvent:userInfo withKey:@"JPushPluginReceiveNotification"];
}
@end