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('');【参考方案2】:

有关您需要提供的示例,请参阅此答案:

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 上运行不同的代码

如何在 Cordova 项目中嵌入 Meteor 视图?

为啥客户端 HTTP.get() 调用在 Cordova (Meteor 0.9.3) 中不起作用?

Meteor 开发人员 - 有没有人修复 Meteor 无法在 iOS 10 iPhone 6 Plus 上运行的问题?

如何在 Meteor cordova 移动应用程序中接收共享数据

在 iPhone 6 上的 Meteor Cordova 应用程序中进行缩放