2016-09-21 38 views
0

我在Xamarin Forms for iOS上使用Xam.Plugin.Media(版本:2.3.0)。 它与iOS-10的iPhone配合工作正常,但当应用程序在iOS-10上运行IPad时,相同的代码将我从应用程序中踢出。在iOS 10上使用xam.Plugin.Media拍摄相机问题

此前,在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

here摘自:

您的应用要求具有NSCameraUsageDescription和NSPhotoLibraryUsageDescription键,以访问设备的相机和照片库。当提示您为每个这些密钥提供的字符串提供访问这些设备功能的权限时,它们将显示给用户。

所以我建议你把这些添加到你的Info.plist中。似乎是一个变化since iOS 10