Meteor + Cordova + iOS:不允许上传文件
Posted
技术标签:
【中文标题】Meteor + Cordova + iOS:不允许上传文件【英文标题】:Meteor + Cordova + iOS: unallowed to upload file 【发布时间】:2017-06-09 18:18:58 【问题描述】:我刚刚使用 Meteor 和 Cordova 构建了我的 ios 应用程序,当我尝试使用基本的 html“上传图片”表单时收到此崩溃报告:
终止原因:TCC,此应用已崩溃,因为它试图 在没有使用说明的情况下访问隐私敏感数据。该应用程序的 Info.plist 必须包含一个 NSPhotoLibraryUsageDescription 键和一个 向用户解释应用如何使用这些数据的字符串值。
你知道如何解决这个问题吗?尤其是科尔多瓦?
【问题讨论】:
【参考方案1】:这使它对我有用:
meteor add cordova:cordova-custom-config@2.0.3
然后在您的 mobile-config.js 文件中添加以下部分:
App.appendToConfig(`<platform name="ios">
<config-file platform="ios" target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
<string>YOUR DESCRIPTION (PHOTOS PERMISSION) HERE</string>
</config-file>
<config-file platform="ios" target="*-Info.plist" parent="NSCameraUsageDescription">
<string>YOUR DESCRIPTION (CAMERA PERMISSION) HERE</string>
</config-file>
</platform>`);
来源:https://forums.meteor.com/t/ios-10-compatibility/26065/46?u=almaju
【讨论】:
很好的解决方案,但我必须编辑格式才能使其正常工作: App.appendToConfig('有关您需要提供的示例,请参阅此答案:
https://***.com/a/39476283/1226963
对于 Meteor,您不能直接编辑 config.xml 文件。对于大多数项目,您可以编辑 mobile-config.js,但不能编辑这个。
引用另一个答案:Add entry to iOS .plist file via Cordova config.xml
您将看到有两种方法可以实现这些条目,或者通过创建您自己的插件并将这些条目添加到 config.xml 文件中,或者您可以使用 Cordova 挂钩脚本中的 PlistBuddy 实用程序来修改 *- Info.plist 文件。
【讨论】:
以上是关于Meteor + Cordova + iOS:不允许上传文件的主要内容,如果未能解决你的问题,请参考以下文章
Meteor Cordova App:如何在 iOS 或 Android 上运行不同的代码
为啥客户端 HTTP.get() 调用在 Cordova (Meteor 0.9.3) 中不起作用?
Meteor 开发人员 - 有没有人修复 Meteor 无法在 iOS 10 iPhone 6 Plus 上运行的问题?