【发布时间】:2016-10-09 18:57:00
【问题描述】:
您好,我正在尝试访问 iOS 上的用户相册,以便用户在我的应用中选择个人资料图片。
我正在使用本机脚本,但我不知道如何请求这样做的权限。我的错误是:
CONSOLE LOG file:///app/shared/user-view-model/user-view-model.js:96:28: fileUri: file:///var/mobile/Media/DCIM/100APPLE/IMG_0002.JPG
CONSOLE LOG file:///app/shared/user-view-model/user-view-model.js:101:24: NSErrorWrapper: You don’t have permission to save the file “100APPLE” in the folder “DCIM”.
我用过
<key>NSPhotoLibraryUsageDescription</key>
<string> ${PRODUCT_NAME} photo use</string>
在我的 info.plist 中,但没有运气。有人知道我错过了什么吗?
var frame = require("ui/frame");
var platform = require("platform");
var firebase = require("nativescript-plugin-firebase");
var page;
var list;
function pageLoaded(args) {
page = args.object;
list = page.getViewById("urls-list");
}
exports.pageLoaded = pageLoaded;
function onSelectMultipleTap(args) {
var imagepicker = require("nativescript-imagepicker");
var context = imagepicker.create({
mode: "multiple"
});
startSelection(context);
}
exports.onSelectMultipleTap = onSelectMultipleTap;
function onSelectSingleTap(args) {
var imagepicker = require("nativescript-imagepicker");
var context = imagepicker.create({
mode: "single"
});
startSelection(context);
}
exports.onSelectSingleTap = onSelectSingleTap;
function startSelection(context) {
context
.authorize()
.then(function() {
list.items = [];
return context.present();
})
.then(function(selection) {
console.log("Selection done:");
selection.forEach(function(selected) {
console.log("----------------");
console.log("uri: " + selected.uri);
console.log("fileUri: " + selected.fileUri);
uploadImage(selected.fileUri);
});
list.items = selection;
}).catch(function (e) {
console.log(e);
});
}
function uploadImage(imageUrl){
firebase.uploadFile({
remoteFullPath: "test/testimage.jpg",
localFullPath: imageUrl,
onProgress: function(status) {
console.log("Uploaded fraction: " + status.fractionCompleted);
console.log("Percentage complete: " + status.percentageCompleted);
}
}).then((success) => {
console.log("success: " + success);
}, (error) => {
console.log("Error: " + error);
})
}
【问题讨论】:
-
你能再贴一些代码吗?你试过这个插件吗npmjs.com/package/nativescript-imagepicker
-
您也可以查看此示例 - github.com/NativeScript/sample-ImageUpload ,其中已使用上述建议的插件 -
nativescript-imagepicker -
您好,我更新了帖子以包含更多代码。我正在使用图像选择器。我还将它与 nativescript-plugin-firebase 结合使用。据我所知,我正在按原样做所有事情,我得到了示例中的缩略图。但是,在上传图片时,它会因上述错误而失败。
标签: ios firebase nativescript file-permissions ios-permissions