我正在使用Facebook SDK对话框从iOS本机应用程序发送应用程序请求.我创建了一个画布应用程序并设置了iTunes ID(现在使用商店中其他应用程序的有效ID,因为我的不是).请求到达桌面www站点,并显示在"应用和游戏>来自朋友的邀请"下.但是,它们不会出现在iOS原生Facebook应用程序上,除非我首先使用我的应用程序进行Facebook SSO.然后,我的应用程序书签出现在FB中,新请求会增加计数器.
在安装应用程序之前,如何在iOS上显示请求?其他可能相关的特殊事情是,我在iOS上的"通知"下没有活动,只有app书签.在桌面上,我看到Notifications globe flash在第一次登录时带有红色徽章,但随后徽章消失,没有任何内容,尽管请求显示在"应用和游戏"下.这似乎并不完全一致,因为一些测试我的应用程序的人获得了预期的通知行为,但我从未在我自己的FB帐户上做过.可能是因为如果反复添加和删除应用程序进行测试?
有线索吗?
我需要快速查询以查找某点的某个GPS半径内的所有文档.半径很小,精度不是那么关键,所以我不需要考虑球面几何形状.会有很多写作.使用2d索引而不是2dsphere,我会获得更好的性能吗?
要更新mongo数组的元素,我使用的语法如下:
{"$set":{"a.0":1238},{"a.1":402}}
Run Code Online (Sandbox Code Playgroud)
或者,更准确地说,我正在使用C-driver函数调用,我认为这相当于此.这似乎工作正常,但当我看到MongoHub中的对象时,我看到:
a: {"0":1238,"1":402}
Run Code Online (Sandbox Code Playgroud)
代替:
a: [1238,402]
Run Code Online (Sandbox Code Playgroud)
有谁知道用C-driver索引访问数组元素的正确语法是什么?我现在正在做的事情是我的直接目的,但我不确定是否存在重大的性能差异.此外,我稍后可能需要使用需要真正数组的操作.
PHAsset creationDate返回一个NSDate,该NSDate的构造就好像所有照片都是在同一“主”时区中拍摄的一样。例如,在给定的iPhone上,在纽约下午4点拍摄的照片与在加利福尼亚州下午4点拍摄的照片具有相同的creationDate。这很方便:只要您在“家庭”时区中显示日期,它就会显示捕获照片的本地时间,通常是您要查看的时间。如果PHAsset返回了UTC creationDate,那么您将需要知道在哪个时区捕获了该时间,iPhone甚至可能不知道,而用户想要查看的本地捕获时间可能会与任何照片。因此,Photos框架仅使用一些固定的时区将本地时间反向编码为NSDate。
有谁知道如何确定照片框架为此使用的时区?即使重新启动系统,更改iPhone设置([NSTimeZone systemTimeZone])似乎也不会影响它。是否有更稳定的系统时区?或者,这是Photos框架要保存的东西吗?
我知道一种确定方法,即读取照片元数据以获取捕获照片的本地时间。然后将其与PHAsset creationDate进行比较,以查看使用了什么偏移量。但是,如果有合法的方式来查询此参数,那将非常丑陋。或者,更重要的是,要知道它在什么条件下会改变。
这是在基于加利福尼亚(GMT-7)的iPhone上打开在澳大利亚(GMT + 10)拍摄的照片的示例:
PHAsset creationDate: 2015-03-09 22:57:35 +0000
Actual UTC capture date: 2015:03:09 05:57:34 +0000
Australian capture date: 2015:03:09 15:57:35 (GMT+10)
请注意,PHAsset creationDate与实际的创建日期不匹配。确切地说,它是与加利福尼亚时区的15:57:35相对应的UTC时间。这是照片中元数据的子集
{
"{Exif}" = {
DateTimeDigitized = "2015:03:09 15:57:35";
};
"{GPS}" = {
DateStamp = "2015:03:09";
TimeStamp = "05:57:34";
};
"{TIFF}" = {
DateTime = "2015:03:09 15:57:35";
};
}