我创建了一个跨平台应用程序,已在.Net,IOS和Android中成功实现.我目前正在使用Mac版本.我已经将90%的应用程序功能抽象到了几个可移植类库中,这些类在我的应用程序中很常见….到目前为止,一切都很好.我正在使用PCL Storage,它可以交叉使用我的一些便携式类库.在其他平台上一切正常,但是当我尝试访问FileSystem.Current时,应用程序PCL存储的mac版本中的BUT引发未实现的异常. Afaik,PCL Storage具有适用于Mac的实现…现在,我知道PCL Storage必须正在检测正在运行的应用程序的构建平台,因此我猜测它没有正确检测项目类型?关于我在做什么错的任何建议吗?
解决方法:
该项目的最后一次提交指出,他们已经添加了Mac支持,但是我不清楚它是否已完全实现.
#if NETFX_CORE || WINDOWS_PHONE
return new WinRTFileSystem();
#elif SILVERLIGHT
return new IsoStoreFileSystem();
#elif FILE_SYSTEM
return new DesktopFileSystem();
#else
return null;
#endif
Mac没有保护套,除非SILVERLIGHT保护套涵盖Mac和iOS.我将与开发人员联系以确认Mac支持已完成.他们可能正在等待Xamarin的统一API的最终版本,该版本计划于1月5日发布.