所以我在Unity中有一个脚本,它使用ParseQueries的.Or()方法从Parse数据库中获取一些行。特别是检索表示与两个玩家的相应用户名匹配的行。
有问题的代码看起来像这样。
var query1 = ParseObject.GetQuery("Game").WhereEqualTo("hostUsername", (string)ParseUser.CurrentUser["username"]).WhereEqualTo("p2username", parseUsername);
var query2 = ParseObject.GetQuery("Game").WhereEqualTo("hostUsername", parseUsername).WhereEqualTo("p2username", (string)ParseUser.CurrentUser["username"]);
//Runs both query 1 and query 2, and counts the combined results.
query1.Or(query2).CountAsync().ContinueWith(t =>
{
int count = t.Result;
if (count != 0)
{
query1.Or(query2).FirstAsync().ContinueWith(y =>
{
//Do stuff with the first result
});
}
});
这在Android设备上运行正常,没问题。但是,当我们为iOS设备或至少iPhone构建游戏时,我们会收到以下错误消息:
System.Linq.Enumerable.<CreateConcatIterator>c__Iterator1<Parse.ParseQuery<Parse.ParseObject>> doesn't implement interface System.Collections.Generic.IEnumerable<Parse.ParseQuery<T>>
* Assertion: should not be reached at mini-trampolines.c:183
我做了一些谷歌搜索,似乎这可能是Facebook SDK或Parse的API中的错误?在旧的Parse论坛上有一些关于它的线索,但没有我能看到的解决方案。
有人在Facebook的开发者页面上发布了这个帖子:https://developers.facebook.com/bugs/750897958275392/,并且在7月份,其中一个开发人员表示他们仍然在开发它。
我的问题很简单,是否有人遇到过此问题并发现了解决方案和/或解决方法?在得到Facebook的回复之前,我猜测我需要采取另一种方法来解决这个问题,但我对这可能是什么感到迷茫。
非常感谢任何回复和帮助,任何人都可以给予。
答案 0 :(得分:0)
这是Unity SDK中用于解析的错误,订阅此错误以进行更新:https://developers.facebook.com/bugs/750897958275392/