您好,我正在尝试访问 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);
})
}