我们计划使用此项目为WinRT商店应用程序使用sqlite pcl库:https://sqlitepcl.codeplex.com/。所有的api都在封锁。如果我们使用它,Microsoft在应用程序商店审核期间是否会出现问题?
当然api将被包裹在Task.Run
中,有点像:
public Task InsertTestSetForUser(TestItem testItem, long userid)
{
return Task.Run(() => InsertTestSetForUserInternal(testItem, userid));
}
我知道有一个带有异步API的sqlite的impl,但是对于Xamarin来说,它不是便携式的,我们用它来移植到iOS和Android。
答案 0 :(得分:1)
您的应用必须满足一些要求。关于你的问题(imho)的三个最重要的是:
您的应用在启动画面上有5秒钟的时间。如果您的数据库设置需要更长时间,请考虑使用扩展的初始屏幕或后台任务。
应用必须在5中渲染第一个屏幕或启动画面 发布后几秒钟。
您的应用必须在20秒内响应(基本上是5 + 15秒)。
启动后20秒内,应用必须响应用户 输入
如果UI上的操作需要3秒以上的时间来处理,则必须使用某种状态指示符(例如:不确定的进度条)。
如果应用执行导致设备显示的操作 没有响应超过三秒钟,例如下载数据 通过网络连接或在屏幕或页面之间转换, 应用必须显示视觉进度或忙碌指示。
所以你看到:没有定义阻塞在认证过程中的真正含义。只需确保将UI用于从UI触发的长操作,并在操作时间超过预期时向用户显示某种进程/状态。只要您的应用程序保持响应,它就不会失败认证(但通过WACK测试很重要)。
有关详细信息,请参阅:http://msdn.microsoft.com/en-us/library/windows/apps/hh184840(v=vs.105).aspx