1.审核时关于 IDFA 选项的选择
image.png
2.以上4项代表的含义
1、在 App 内投放广告
服务应用中的广告。如果你的应用中集成了广告的时候,你需要勾选这一项。
2、将此 App 安装归因于先前投放的特定广告
跟踪广告带来的安装。如果你使用了第三方的工具来跟踪广告带来的激活以及一些其他事件,
但是应用里并没有展示广告你需要勾选这一项。
3、将此 App 中发生的操作归因于先前投放的特定广告
跟踪广告带来的用户的后续行为。如果你使用了第三方的工具来跟踪广告带来的激活以及一些其他事件。
4、iOS 中的“限制广告跟踪”设置
对您的应用使用 IDFA 的目的做下确认,只要您获取了 IDFA,那么这一项都是需要勾选的。
3.被 AppStore 拒绝的解决办法
1、如果您的应用里只是集成了广告,不追踪广告带来的激活行为,那么选择 1 和 4。
2、如果您的应用没有广告,而又获取了 IDFA。我们建议选择 2 和 4。
4.plist应配置
NSLocationWhenInUseUsageDescription 表示应用在前台的时候可以搜到更新的位置信息。
NSLocationAlwaysUsageDescription 申请Always权限,以便应用在前台和后台(suspend 或 terminated)都可以获取到更新的位置数据。
NSLocationAlwaysAndWhenInUseUsageDescription 申请Always权限,以便应用在前台和后台(suspend 或 terminated)都可以获取到更新的位置数据(NSLocationWhenInUseUsageDescription 也必须有)。
注意:如果需要同时支持在iOS8-iOS10和iOS11系统上后台定位,建议在plist文件中同时添加
NSLocationWhenInUseUsageDescription、
NSLocationAlwaysUsageDescription和
NSLocationAlwaysAndWhenInUseUsageDescription权限申请。
5.配置高德Key至AppDelegate.m文件
#import <AMapFoundationKit/AMapFoundationKit.h>
//需要引入头文件
……
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
……
[AMapServices sharedServices].apiKey = @"您的Key";
……
}
6.实现持续定位
#import <AMapLocationKit/AMapLocationKit.h>
//初始化AMapLocationManager对象,设置代理。
- (void)viewDidLoad
{
self.locationManager = [[AMapLocationManager alloc] init];
self.locationManager.delegate = self;
}
//调用AMapLocationManager提供的startUpdatingLocation方法开启持续定位。
[self.locationManager startUpdatingLocation];
//接收位置更新,实现AMapLocationManagerDelegate代理的 amapLocationManager:didUpdateLocation方法,处理位置更新
- (void)amapLocationManager:(AMapLocationManager *)manager didUpdateLocation:(CLLocation *)location reGeocode: (AMapLocationReGeocode *)reGeocode
{
NSLog(@"location:{lat:%f; lon:%f; accuracy:%f}", location.coordinate.latitude, location.coordinate.longitude, location.horizontalAccuracy);
if (regeocode)
{
NSLog(@"reGeocode:%@", regeocode);
}
}
网友评论