Pav*_*lev 26 ios cordova hybrid-mobile-app
最近更改后,如果您的应用尝试访问隐私敏感数据,Apple需要特定密钥.所以我在我的config.xml中添加了NSCameraUsageDescription键,如下所示:
<platform name="ios">
<config-file parent="NSCameraUsageDescription" target="*-Info.plist">
<string>We are using a camera to </string>
</config-file>
</platform>
Run Code Online (Sandbox Code Playgroud)
然后
cordova build ios --release --device
Run Code Online (Sandbox Code Playgroud)
产生ipa,显然在info.plist中没有正确的信息.感觉就像我错过了一些东西.
问题1: 我需要将什么内容放入config.xml来解决NSCameraUsageDescription问题? 问题2: 是否可以对此字符串使用本地化?
谢谢!
jce*_*ile 32
新答案:
从Cordova CLI 6.5.0开始,您可以info.plist
使用以下edit-config
标签直接写入config.xml
:
resource-file
但请确保您使用的是最新版本的插件,否则插件变量可能会覆盖这些值.
对于本地化,您可以使用info.plist
此插件中的标记和InfoPlist.strings文件(但您不需要插件,config.xml支持resource-file标记)
https://github.com/MBuchalik/cordova-plugin-ios-permissions
老答案:
您可以在不写config.xml
从config-file
使用NSCameraUsageDescription
标签,但(它被上工作)
最新版本的相机插件允许您cordova plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION="your usage message"
在安装插件时添加
info.plist
现在,无法本地化此字符串
以下是我自己研究的结果:
如果我错了,请纠正我.有关直接来自config.xml的本地化的更多信息表示赞赏.
就个人而言,我不喜欢使用自定义插件来修改info.plist文件.感觉就像我使用的每个新插件让我的应用程序越来越脆弱.:)
首先,在苹果拒绝我的 ipa 后,这对我使用 Cli-7.1.0 有效。
1)在您的代码中,如果您使用 for ex。cordova-plugin-barcodescanner 和 cordova-plugin-camera 和 cordova-plugin-ios-camera-permissions所有变量 CAMERA_USAGE_DESCRIPTION, PHOTOLIBRARY_USAGE_DESCRIPTION 里面应该有相同的字符串。如果其中之一是不同的,苹果会拒绝您的 ipa,因为 phonegap 使用默认变量 。
ej:
<plugin name="cordova-plugin-ios-camera-permissions" >
<variable name="CAMERA_USAGE_DESCRIPTION" value="YOUR-PERMISSION-REQUEST" />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="YOUR-PERMISSION-REQUEST" />
</plugin><!-- spec="1.0.3" !-->
<plugin name="cordova-plugin-camera" >
<variable name="CAMERA_USAGE_DESCRIPTION" value="YOUR-PERMISSION-REQUEST" />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="YOUR-PERMISSION-REQUEST" />
Run Code Online (Sandbox Code Playgroud)
<gap:plugin name="cordova-plugin-image-picker" source="npm" />
<gap:plugin name="cordova-plugin-base64-joewsh" source="npm" /> <!-- convertir a base64 los files !-->
<gap:plugin name="cordova-plugin-barcodescanner" source="npm" spec="0.7.0" >
<variable name="CAMERA_USAGE_DESCRIPTION" value="YOUR-PERMISSION-REQUEST" />
</gap:plugin>
Run Code Online (Sandbox Code Playgroud)
2)添加此代码(记住在变量中使用相同的字符串,正如我之前提到的):
<platform name="ios">
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge" overwrite="true">
<string>YOUR-PERMISSION-REQUEST</string>
</edit-config>
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge" overwrite="true" >
<string>YOUR-PERMISSION-REQUEST</string>
</edit-config>
<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge" overwrite="true">
<string>YOUR-PERMISSION-REQUEST</string>
</edit-config>
</platform>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35379 次 |
最近记录: |