Apple 因缺少 NSContactsUsageDescription 而开始拒绝我的应用程序

问题描述 投票:0回答:1

我正在使用一个库(Zoom Meeting SDK)来开发可以执行多项任务的 iOS 应用程序。 其中之一需要访问联系人,但我没有在我的应用程序中使用此特定功能。

不幸的是,Apple 开始拒绝我的应用程序并出现以下错误:

ITMS-90683:Info.plist 中缺少目的字符串 - 您的应用程序的代码引用了一个或多个访问敏感用户数据的 API,或者应用程序具有允许此类访问的一项或多项权利。 “MyApp.app”包的 Info.plist 文件应包含一个 NSContactsUsageDescription 键,其中包含一个面向用户的目的字符串,清楚、完整地解释您的应用程序需要数据的原因。

如何避免这个问题?

我已暂时将 NSContactsUsageDescription 添加到我的 beta 应用程序的 Info.plist 文件中以继续我的测试,但这不是发布版本的真正解决方案,因为我无法给出此权限请求的充分理由。我的应用程序不以任何方式使用联系人。 请记住,Apple 可能会要求我提供一种测试方法,或者提供一段视频来展示我的应用程序如何使用通讯录。

所以这是发布我的应用程序新版本的一个阻碍问题。

有类似的吗

用户权限删除

可以在 iOS 应用程序的 Android 应用程序清单中使用吗?

    <uses-permission
    android:name="android.permission.SPECIFIC_PERMISSION"
    tools:node="remove" />
ios app-store zoom-sdk info-plist
1个回答
0
投票

从 Zoom SDK 6.0.2 开始,可以在应用程序清单中指定 foregroundServiceType,并且 SDK 将遵循此设置。 它不适用于较旧的 SDK。

<service
    android:name="com.zipow.videobox.share.ScreenShareServiceForSDK"
    android:exported="false"
    android:foregroundServiceType="microphone|connectedDevice"
    tools:replace="android:foregroundServiceType"
    android:label="Zoom"/>

默认情况下 Zoom SDK 使用以下前台服务功能:

前景_服务_媒体_投影

前景_服务_媒体_播放

前景_服务_麦克风

FOREGROUND_SERVICE_PHONE_CALL

FOREGROUND_SERVICE_CONNECTED_DEVICE

但是由于我的应用程序没有使用所有功能,我可以从应用程序清单中删除其中一些功能。

<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" tools:node="remove" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" tools:node="remove" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" tools:node="remove" />

只保留实际使用的功能:

<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />

这使我能够在应用程序发布审核期间提供所有必要的视频和信息。

© www.soinside.com 2019 - 2024. All rights reserved.