#ios #unity ### 3. 在Xcode中实现Objective-C代码 在Unity生成的Xcode项目中,添加一个Objective-C文件来实现请求跟踪权限的功能: - 在Xcode中,创建一个新的Objective-C文件,例如TrackingAuthorization.m。 ``` cpp #import #import void RequestTrackingAuthorization() { if (@available(iOS 14, *)) { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { // 处理授权状态 switch (status) { case ATTrackingManagerAuthorizationStatusAuthorized: NSLog(@"Tracking authorized"); break; case ATTrackingManagerAuthorizationStatusDenied: NSLog(@"Tracking denied"); break; case ATTrackingManagerAuthorizationStatusNotDetermined: NSLog(@"Tracking not determined"); break; case ATTrackingManagerAuthorizationStatusRestricted: NSLog(@"Tracking restricted"); break; } }]; } } ``` ### 调用请求权限的方法 在Unity中创建一个脚本来请求跟踪权限: ``` cs public class TrackingPermission : MonoBehaviour { [DllImport("__Internal")] private static extern void RequestTrackingAuthorization(); public void RequestPermission() { #if UNITY_IOS RequestTrackingAuthorization(); #endif } } ``` 在Unity中调用RequestPermission方法来请求跟踪权限: ``` cs public class Example : MonoBehaviour { void Start() { TrackingPermission trackingPermission = new TrackingPermission(); trackingPermission.RequestPermission(); } } ```