该应用的Info.plist必须包含NSMotionUsageDescription键

时间:2017-12-01 11:17:13

标签: ios objective-c

我在运行时遇到以下错误:

此应用已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。该应用程序的Info.plist必须包含一个NSMotionUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据。

我已将密钥添加到plist文件中:

<!--  Motion -->
<key>NSMotionUsageDescription</key>
<string>This app needs to be able to access your motion use</string>

这是AppDelegate中的代码:

if ([CMMotionActivityManager isActivityAvailable])
{
    CMMotionActivityManager *motionManager = [[CMMotionActivityManager alloc] init];
    NSOperationQueue *motionActivityQueue = [[NSOperationQueue alloc] init];

    [motionManager queryActivityStartingFromDate:[NSDate distantPast] toDate:[NSDate date] toQueue:motionActivityQueue withHandler:^(NSArray *activities, NSError *error) {
        if (error && (error.domain == CMErrorDomain) && (error.code == CMErrorMotionActivityNotAuthorized)) {

        } else if (activities || !error) {

        }

        dispatch_async(dispatch_get_main_queue(), ^{

        });
    }];        
}

为什么我会继续这次崩溃?我删除了所有派生文件夹,清理了项目。但仍然问我钥匙!它是苹果虫吗?

1 个答案:

答案 0 :(得分:0)

我发现了问题。我希望总有一天能帮助别人。转到项目设置 - &gt;信息 - &gt;在“自定义iOS目标属性”部分下,找到所需的背景模式,并在此处添加您的密钥。我不知道为什么我的所有plist文件密钥都不在这里。