我已经创建了一个跨平台应用程序,我已经在.Net,IOS和Android中成功实现了。我目前正在研究Mac版本。我已经将90%的应用程序功能抽象为几个可移植类库,这在我的应用程序中很常见....到目前为止一切都很好。我正在使用PCL Storage,它可以减少我的一些便携式类库。使用其他平台它一切正常,但在应用程序的Mac版本中PCL存储在尝试访问FileSystem.Current时抛出一个未实现的异常。 Afaik,PCL Storage有一个Mac实现...现在,我知道PCL Storage必须检测正在运行的应用程序的构建平台,所以我猜它没有正确检测项目类型?对我做错了什么建议?
答案 0 :(得分:3)
该项目的最后一次提交说明他们已添加了Mac支持,但我不清楚它是否已完全实现。
FileSystem.cs 中的
#if NETFX_CORE || WINDOWS_PHONE
return new WinRTFileSystem();
#elif SILVERLIGHT
return new IsoStoreFileSystem();
#elif FILE_SYSTEM
return new DesktopFileSystem();
#else
return null;
#endif
除非SILVERLIGHT案例涵盖Mac和iOS,否则Mac无法使用。我会联系开发人员以验证Mac支持是否完整。他们可能正在等待Xamarin最终发布的统一API,计划于1月5日发布。