我正在使用Xam.Plugin.Media(版本:2.3.0)和Xamarin Forms for iOS。 它与iOS-10的iPhone配合工作正常,但当应用程序在iOS-10的IPad上运行时,相同的代码会从应用程序中解脱出来。
早些时候,在iOS-9上,它与iphone和ipad都运行良好。 我期待你的回复。 感谢
using Plugin.Media;
using System;
using System.Collections.Generic;
using System.Text;
using Xamarin.Forms;
namespace LearnForms.Pages
{
public class pgOpenCamera: ContentPage
{
private Image image1 { get; set; }
public StackLayout StkPage { get; set; }
public Button btnOpenCamera { get; set; }
public pgOpenCamera()
{
btnOpenCamera = new Button()
{
Text ="Open Camera!"
};
btnOpenCamera.Clicked += BtnOpenCamera_Clicked;
image1 = new Image();
StkPage = new StackLayout()
{
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalOptions = LayoutOptions.FillAndExpand,
Padding = new Thickness(20),
Children = {btnOpenCamera, image1}
};
Content = StkPage;
}
private async void BtnOpenCamera_Clicked(object sender, EventArgs e)
{
if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
{
DisplayAlert("No Camera", ":( No camera available.", "OK");
return;
}
var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
{
Directory = "Sample",
Name = "test.jpg"
});
if (file == null)
return;
DisplayAlert("File Location", file.Path, "OK");
image1.Source = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
file.Dispose();
return stream;
});
}
}
}
...卡奇
答案 0 :(得分:1)
取自here:
您的应用需要拥有NSCameraUsageDescription和NSPhotoLibraryUsageDescription的密钥才能访问设备的相机和照片库。当提示用户提供访问这些设备功能的权限时,将为用户显示为这些密钥提供的字符串。
所以我建议你将这些添加到Info.plist中。似乎是一种变化since iOS 10。