3

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?

Jim
  • 479
  • 2
  • 8

1 Answers1

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.

in 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

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