Xamarin.Forms:iOS Camera可以正常工作,Gallery可以正常工作(Android,两个都可以)

时间:2020-05-17 10:11:19

标签: ios xamarin.forms

由于我的iPhone模拟器没有相机,因此无法在模拟器上对其进行调试。但是我有一个物理设备,但是具有那些愚蠢的配置文件,我只能将发行版本发送到我的实际iPhone 7,这意味着它不返回调试信息。

但是,在TRY CATCH的帮助下,我能够查明实际的iPhone何时崩溃:这是以下代码行:

        file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
        {
            Directory = "Sample",
            Name = "test.jpg"
        });

整个代码如下:

    await CrossMedia.Current.Initialize();

    Plugin.Media.Abstractions.MediaFile file = null;

    try
    {
        file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
        {
            Directory = "Sample",
            Name = "test.jpg"
        });



    }
    catch
    {
        await DisplayAlert("1", ":( No camera available.", "OK");
    }

    if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
    {
        await DisplayAlert("No Camera", ":( No camera available.", "OK");
        return;
    }

    if (file == null)
        return;

由于它进入了catch块,所以我知道是abolev行引发了错误。

这是james montamagno插件。

你们可以帮我吗?可能是权限问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

将此添加到info.plist:

<key>NSCameraUsageDescription</key>
<string>This app needs access to the camera to take photos.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to photos.</string>

解决了问题!