我是Xamarin的新手,并分别为iOS和Android开发了Xamarin Class Library
。该库有一些业务逻辑,可以为iOS启动ViewController
,为Android启动Activity
。 iOS和Android生成的二进制文件分别是iOS.dll和Android.dll。然后在Xamarin.iOS和Xamarin.Android本机应用程序中使用这些库。
Android和iOS的业务逻辑中有一些相同点。有没有办法开发一个单独的库,它具有整个业务逻辑,并对不同逻辑的平台进行条件检查。
我查看了可移植类库,但它要求包含Xamarin.Forms以便使用它。我没有在应用程序的任何部分使用Xamarin.Forms。我使用库时出现以下错误
PCL代码
if (Device.OS == TargetPlatform.iOS)
{
Lib_iOS.Helper helper = new Lib_iOS.Helper();
helper.launchScreen(parameters, callback);
}
else if (Device.OS == TargetPlatform.Android)
{
Lib_Android.Helper helper = new Lib_Android.Helper();
helper.launchScreen(parameters, callback);
}
错误
你必须调用Xamarin.Forms.Init();在使用之前。
注意:作为业务需求的一部分,我只需要在iOS和Android应用程序中使用.dll
答案 0 :(得分:0)
请参阅有关代码共享选项的官方文章:https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/code-sharing。
如果要将特定于平台的条件使用相同的代码,则可以创建共享项目。条件看起来像
#if __ANDROID__
...
#else
...
#endif