I've create a cross platform application which I've implemented successfully in .Net, IOS and Android. I'm currently working on the Mac version. I've abstracted 90% of the applications functionality into several Portable class libraries, which are common across my apps.... So far so good. I'm using PCL Storage, which cross cuts a few of my portable class libraries. With the other platforms it all works fine, BUT in the mac version of the app PCL storage is throwing a not implemented exception whenever I try an access FileSystem.Current. Afaik, PCL Storage has an implementation for Mac... Now, I'm aware PCL Storage must be detecting the build platform of the running application, so I'm guessing it's not detecting the project type correctly? Any suggestions of what I'm doing wrong?
Asked
Active
Viewed 262 times
1 Answers
3
The project's last commit notes that they have added Mac support, but it's not clear to me whether it's fully implemented.
#if NETFX_CORE || WINDOWS_PHONE
return new WinRTFileSystem();
#elif SILVERLIGHT
return new IsoStoreFileSystem();
#elif FILE_SYSTEM
return new DesktopFileSystem();
#else
return null;
#endif
There is no case for Mac, unless the SILVERLIGHT case covers both Mac and iOS. I would contact the developer to verify that Mac support is complete. It may be that they are waiting on the final release of the Unified API from Xamarin, which is scheduled for Jan 5.

Jason
- 86,222
- 15
- 131
- 146