前些天在开发一个基于UniApp的项目时,遇到了一个有趣的问题。我注意到在没有声明READ_MEDIA_IMAGES
和READ_MEDIA_VIDEO
权限的情况下,云打包后仍然具有这两个权限。
首先,回顾一下UniApp的基本知识。UniApp是一个跨平台的框架,允许我们使用Vue.js开发同时在多个平台上运行的应用程序。通过编写一次代码,我们可以在iOS、Android甚至是Web上构建应用。
在UniApp中,我们使用manifest.json
文件来管理应用的配置信息。其中包括权限的声明。在这个特定的问题中,我没有明确声明READ_MEDIA_IMAGES
和READ_MEDIA_VIDEO
权限,但在打包后,应用程序仍然具有这些权限。
为了解决这个问题,我开始分析可能导致此行为的原因。首先,我检查了manifest.json
文件,确保在其中没有声明这两个权限。然后,我思考是否可能在其他地方进行声明。
经过一番调查,我发现了可能的原因:UniApp使用了一个名为uniCloud
的云开发平台,它可以为应用程序提供云端功能和服务。在使用uniCloud
时,它会自动添加一些默认的权限,包括READ_MEDIA_IMAGES
和READ_MEDIA_VIDEO
。这样,我们就可以在应用程序中使用云端存储和处理媒体文件。
虽然这是一个很方便的功能,但在我的情况下,我并不需要这些权限。所以我需要找到一种方法来禁用它们。幸运的是,UniApp提供了一个配置文件manifest-unicloud.json
,