相关疑难解决方法(0)

应用程序因缺少使用说明而被拒绝(Xcode8)

所以我今天收到这封邮件说我的应用程序的最新版本被iTunes Connect拒绝了,原因是一些用法描述丢失了.确切地说:

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSContactsUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSCalendarsUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSPhotoLibraryUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSBluetoothPeripheralUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSMicrophoneUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.

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

一旦纠正了这些问题,您就可以重新更新已更正的二进制文件.

我发现这些已经成为iOS 10的强制要求,但唯一的问题是我的应用程序没有请求访问这些中的任何一个的权限..我认为只有在您真正请求许可时才需要说明吗?

是因为我的一个依赖项(Cocoapods)可能包含一些代码来请求这些权限吗?或者即使我从未要求查看用户日历,联系人等,这些描述是否必须?

itunesconnect ios ios10 xcode8

90
推荐指数
4
解决办法
8万
查看次数

在最小数据丢失时杀死/暂停iOS swift backgound位置更新

关于快速语言背景中的位置更新,我有几个问题要问.

让我解释一下我在应用程序中正在做什么.我正在开发一个定期监控用户位置的应用程序(就像你们所做的那样)并将其更新到服务器,以便跟踪和保存用户移动以供用户将来参考.

问题

  1. 有什么区别使用之间startMonitoringSignificantLocationChanges Vs的startUpdatingLocation

    1.1如果我们使用startUpdatingLocation会影响将应用程序发布App Store吗?

  2. 当应用程序被终止/暂停时(用户强制关闭),从AppDelegate 重新启动位置管理器需要一些时间,这会导致位置数据丢失一段时间.任何可能的解决方案来克服这个

    2.1的时间重新开始的差大约是30秒到近1分钟,其不触发位置更新,因此路线是不完美的,如图所示在图像

应用程序的输出由于重新启动位置而未收到,因此路线将越过道路.

应用输出

代码供参考

import UIKit
import GoogleMaps

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, CLLocationManagerDelegate {

    var window: UIWindow?
    let DBName = "test"
    var logFile: FileUtils?
    var viewController:ViewController?

    var count = 0
    var appOpenCount = 0
    let totalPath = GMSMutablePath()
    var leaveCoordinates = …
Run Code Online (Sandbox Code Playgroud)

location core-location ios swift

7
推荐指数
1
解决办法
3458
查看次数

标签 统计

ios ×2

core-location ×1

ios10 ×1

itunesconnect ×1

location ×1

swift ×1

xcode8 ×1