uni-app IOS端未包含某些权限但仍提示存在,且.plist文件已添加描述却仍提示缺少描述

uni-app IOS端未包含某些权限但仍提示存在,且.plist文件已添加描述却仍提示缺少描述

“privacyDescription” : { “NSLocalNetworkUsageDescription” : “展示游戏页面”, “NSUserTrackingUsageDescription” : “请放心,开启权限不会获取您在其他站点的隐私信息,该权限仅用于标识设备、第三方广告、并保障服务安全与提示浏览体验”, “NSFReaderUsageDescription” : “用于制作门禁”, “NSAppleMusicUsageDescription” : “保存用户头像或海报到本地图库”, “NSSpeechRecognitionUsageDescription” : “语音转文字”, “NSLocationAlwaysAndWhenInUseUsageDescription” : “商城中包含商家,方便用户查找附近的餐馆、酒店”, “NSCameraUsageDescription” : “用于拍摄照片,上传头像。”, “NSMicrophoneUsageDescription” : “发送语音消息”, “NSPhotoLibraryUsageDescription” : “用于从图库读取照片”, “NSPhotoLibraryAddUsageDescription” : “用于保存头像或海报到本地图库” },

请纠正以下问题,并上传新的二进制文件到App Store Connect。

ITMS-90683: Info.plist 中缺少目的字符串- 你的应用程序代码引用了一个或多个访问敏感用户数据的API,或者应用程序有一个或多个权限允许这样的访问。“HBuilder.app”捆绑包的Info.plist文件应包含一个 NSCalendarsUsageDescription 键,该键包含一个面向用户的目的字符串,清楚完整地解释为什么您的应用需要这些数据。如果您使用外部库或SDK,它们可能会引用需要目的字符串的API。虽然您的应用可能不使用这些API,但仍需要一个目的字符串。详情请访问:https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.

ITMS-90683: Info.plist 中缺少目的字符串- 你的应用程序代码引用了一个或多个访问敏感用户数据的API,或者应用程序有一个或多个权限允许这样的访问。“HBuilder.app”捆绑包的Info.plist文件应包含一个NSContactsUsageDescription键,该键包含一个面向用户的目的字符串,清楚完整地解释为什么您的应用需要这些数据。如果您使用外部库或SDK,它们可能会引用需要目的字符串的API。虽然您的应用可能不使用这些API,但仍需要一个目的字符串。详情请访问:https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.

ITMS-90683: Info.plist 中缺少目的字符串- 你的应用程序代码引用了一个或多个访问敏感用户数据的API,或者应用程序有一个或多个权限允许这样的访问。“HBuilder.app”捆绑包的Info.plist文件应包含一个NSBluetoothPeripheralUseDescription键,该键包含一个面向用户的目的字符串,清楚完整地解释为什么您的应用需要这些数据。如果您使用外部库或SDK,它们可能会引用需要目的字符串的API。虽然您的应用可能不使用这些API,但仍需要一个目的字符串。详情请访问:https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.

虽然您不需要修复以下问题,但我们希望让您了解这些问题:

ITMS-90683: Info.plist 中缺少目的字符串- 你的应用程序代码引用了一个或多个访问敏感用户数据的API,或者应用程序有一个或多个权限允许这样的访问。“HBuilder.app”捆绑包的Info.plist文件应包含一个NSBluetoothAlwaysUseDescription键,该键包含一个面向用户的目的字符串,清楚完整地解释为什么您的应用需要数据。如果您使用外部库或SDK,它们可能会引用需要目的字符串的API。虽然您的应用可能不使用这些API,但仍需要一个目的字符串。详情请访问:https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.


更多关于uni-app IOS端未包含某些权限但仍提示存在,且.plist文件已添加描述却仍提示缺少描述的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app IOS端未包含某些权限但仍提示存在,且.plist文件已添加描述却仍提示缺少描述的实战教程也可以访问 https://www.itying.com/category-93-b0.html


针对你提到的uni-app在IOS端遇到的权限提示问题,这通常涉及到iOS的权限管理机制以及项目的配置文件。在iOS开发中,应用的权限请求和描述必须在Info.plist文件中明确声明,否则系统在运行时可能会拒绝权限请求或显示警告。

首先,确保你的Info.plist文件中正确添加了所需的权限描述。这里以相机和照片库权限为例,展示如何在Info.plist中添加权限描述:

  1. 相机权限: 在Info.plist中添加以下键值对:

    <key>NSCameraUsageDescription</key>
    <string>应用需要访问相机以拍摄照片</string>
    
  2. 照片库权限: 添加以下键值对以请求访问照片库:

    <key>NSPhotoLibraryUsageDescription</key>
    <string>应用需要访问您的照片库以选择照片</string>
    

对于uni-app项目,由于它使用了HBuilderX进行打包,你需要在HBuilderX中配置相应的权限描述,这些配置最终会被写入到生成的iOS项目的Info.plist文件中。

在HBuilderX中配置权限描述通常通过manifest.json文件完成。以下是一个示例配置,用于在uni-app项目中请求相机和照片库权限:

{
  "mp-weixin": {},
  "app-plus": {
    "distribute": {
      "ios": {
        "plist": [
          {
            "key": "NSCameraUsageDescription",
            "value": "应用需要访问相机以拍摄照片"
          },
          {
            "key": "NSPhotoLibraryUsageDescription",
            "value": "应用需要访问您的照片库以选择照片"
          }
        ]
      }
    }
  }
}

确保在HBuilderX中进行了正确的配置后,重新打包iOS应用。如果问题依旧存在,请检查以下几点:

  • 确保使用的HBuilderX和uni-app版本是最新的,因为旧版本可能存在已知的bug。
  • 清理项目并重新构建,有时候旧的构建缓存可能会导致问题。
  • 检查Xcode生成的Info.plist文件,确认配置的权限描述是否已正确写入。
  • 如果使用了条件编译或其他自定义配置脚本,确保这些脚本没有覆盖或删除你的权限描述。

通过上述步骤,你应该能够解决uni-app在iOS端遇到的权限提示问题。如果问题仍然存在,建议查看具体的错误日志或联系uni-app的官方支持获取更专业的帮助。

回到顶部