如果用户GameCenter从您的应用程序中解除登录3次,则不会再次提示他们.身份验证处理程序返回:
The requested operation has been cancelled or disabled by the user.
Run Code Online (Sandbox Code Playgroud)
在以前版本的iOS(6及以下版本)中,用户可以访问GameCenter应用程序,登录,从那时起一切都会好起来 - 他们可以返回您的应用程序并正常登录.
在iOS7中(据我所知),取消3次会永久禁用该设备上的应用程序的GameCenter. Deleting/reinstalling应用程序,或者logging out/in,即使作为不同的用户,也无法修复它 - 您仍然可以获得该消息.
我无法在任何地方找到任何设置,让用户可以选择为您的应用重新启用它.
有谁知道这个解决方案?
我有一个UIView,其图层将有子图层.我想为每个子图层分配代理,因此委托方法可以告诉图层要绘制什么.我的问题是:
作为CALayer的代表,我应该提供什么?文档说不要使用层所在的UIView,因为这是为视图的主CALayer保留的.但是,创建另一个类只是为了成为我创建的CALayers的代表,这就失去了不继承CALayer的目的.人们通常使用什么作为CALayer的代表?或者我应该只是亚类?
另外,为什么实现委托方法的类不必遵循某种CALayer协议?这是一个我不太了解的更广泛的首要问题.我认为所有需要实现委托方法的类都需要协议规范,以便实现者遵守.
我正在努力获得Facebook登录工作的注册流程.这是一个简单的例子:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>My Facebook Login Page</title>
</head>
<body>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<div id="fb-root"></div>
<script type="text/javascript">
FB.init({
appId:'xxxxxxxxxxx',
cookie:true,
status:true,
xfbml:true,
channelUrl : 'http://<myWebSite>/channel.html',
oauth:true
});
</script>
<fb:login-button registration-url="http://<myWebSite>/register"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
(我上面替换的唯一内容是网站和appID)
如果我这样尝试,登录按钮会显示,但点击它会导致FireBug在浏览器日志中报告"未知状态:未定义".如果我删除'oauth = true'行,它会起作用.我正在努力遵守新的oauth 2.0标准,所以我想把它留进去.还有其他人遇到过吗?看起来如果这是一个bug,它很早就会被捕获.
import time
print time.strftime("%a, %d %b %Y %I:%M %p %Z", time.gmtime())
Run Code Online (Sandbox Code Playgroud)
我居住在加利福尼亚州.出于某种原因,此代码报告GMT中的时间,而不是遵守系统时区.我知道strftime知道我在太平洋,因为它仍然在最后打印'PST',但它仍然提前8小时.还有其他人注意到这一点吗?任何人都知道我的系统或我的代码有什么问题吗?
编辑:date在命令行运行给我正确的日期.另外,我在两台不同的计算机(mac和linux)上运行它们,它们都提前8小时报告.您是否希望在使用strftime之前纠正时区?
我正在编写一个广泛使用Facebook的iPhone应用程序.现在,我正在使用iPhone Facebook SDK获取访问令牌.这会返回一个标准访问令牌.
我正在发送此令牌服务器端并成功将其用于许多查询.但是,有些查询需要使用Application Secret签名的访问令牌,由于安全漏洞,iPhone应用程序sdk无法在客户端执行(特别是我正在尝试使用仪表板方法).
所以我的问题是:有什么方法可以让Facebook升级这个iPhone访问令牌服务器端以包含签名的秘密?或者我是否必须从头开始验证服务器端?
文档说,使用"服务器端流"方法,一旦用户允许您的应用程序,您将获得服务器生成的代码,您必须使用App Secret发送回来以获取访问令牌.iPhone SDK使用"客户端流"方法,似乎跳过了这一步,所以我不知道如何获取此代码.所以我想问题归结为,是否有可能将使用'客户端流'方法获得的令牌升级为可以完全用于服务器端的令牌.
只要我第一次安装并启动我的应用程序,它就会立即请求位置服务,即使尚未调用startUpdatingLocation.那时我甚至没有分配CLLocationManager实例.在我实际拨打电话后,我希望这个提示可以懒得完成,这样用户就不会盲目地将其关闭.最近这个流程是否因iOS而改变?我记得曾经被懒惰地问过.我正在使用5.1固件.
我对目标C中的障碍很陌生.我已经阅读了文档,我对它们有了非常基本的了解.
为什么这不起作用?这是一个用于请求日历访问的框架回调.它需要一个块作为参数.我想要做的就是在块中分配并显示UIAlertView,但它会在尝试显示时崩溃.
我希望这不是一个愚蠢的问题......使用块的网上的所有介绍示例只显示计数器的简单示例.
//Request access
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted == FALSE) {
UIAlertView *myAlert = [[[UIAlertView alloc]initWithTitle:@"Calendar Access Denied"
message:@"<InfoText>"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease];
[myAlert show];
}
else {
[self addToCalendar];
}
}];
Run Code Online (Sandbox Code Playgroud) 在过去的一年中,我一直在调试使用此设置时遇到问题.据说,这是在最新版本中修复的,但我似乎无法让它工作.
我正在使用Mac OSX 10.8.5,Eclipse Keplar,PyDev 3.0.0和Google App Engine 1.8.8.
我设置了一个运行配置来指向dev_appserver.py,运行我的项目.这很好.我的python版本是2.7.3,一切都在普通模式下工作.但是,当我尝试在调试模式下运行时,应用程序运行,输出特别指出:
pydev debugger: starting
pydev debugger: google app engine integration enabled
Run Code Online (Sandbox Code Playgroud)
但是在20秒之后,python进程终止并显示以下错误消息:
'Launching New_configuration' has encountered a problem.
Timed out after 20.0 seconds while waiting for python script to connect.
Accept timed out
Run Code Online (Sandbox Code Playgroud)
执行在这20秒内工作,因为我可以点击连接到我的应用程序的URL并查看效果.但是,断点不起作用.有什么我需要做的让python'连接'?
另外 - 我应该注意,切换回使用'old_dev_appserver.py'修复了这个问题 - 当我这样做时,调试工作正常.但是,这不是一个真正的解决方案,因为我需要在新版本中使用最新的套接字添加.
谢谢你的建议.
我正在尝试使用GeoModel python模块快速访问我的Google App Engine应用程序的地理空间数据.对于我遇到的问题,我只有一些一般性问题.有两个主要方法,proximity_fetch和bounding_box_fetch,可用于返回查询.它们实际上返回一个结果集,而不是一个过滤的查询,这意味着你需要在传递之前完全准备一个过滤的查询.它还限制你迭代查询集,因为结果被提取,你没有在fetch中输入偏移量的选项.
如果没有修改代码,任何人都可以推荐一个解决方案来指定查询的偏移量吗?我的问题是我需要针对变量检查每个结果以查看是否可以使用它,否则将其丢弃并测试下一个.我可能遇到需要进行额外提取的情况,但是从偏移量开始.
SDK中有许多方法要求输入字符串列表,以nil结尾,例如,在UIActionSheet中:
- (id)initWithTitle:(NSString *)title delegate:(id < UIActionSheetDelegate >)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...
Run Code Online (Sandbox Code Playgroud)
在这种情况下,'otherButtonTitles'是以nil结尾的NSStrings列表.我想要做的是使用NSStrings的构造NSMutableArray调用此方法,因为我想动态创建和排序参数.我该怎么做?在这种情况下,我不确定如何创建一个nil终止指向NSStrings的指针,如果传入它甚至可以工作.我是否必须手动为其分配内存并将其释放?
retVal = None
retries = 5
success = False
while retries > 0 and success == False:
try:
retVal = graph.put_event(**args)
success = True
except:
retries = retries-1
logging.info('Facebook put_event timed out. Retrying.')
return success, retVal
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我如何将整个事情包装为一个函数,并使任何命令(在本例中为“graph.put_event(**args)”)都可以作为要在其中执行的参数传递功能?
ios ×4
iphone ×3
objective-c ×3
python ×3
facebook ×2
oauth ×2
calayer ×1
eclipse ×1
firebug ×1
game-center ×1
geolocation ×1
geospatial ×1
ios7 ×1
location ×1
login ×1
pydev ×1
timezone ×1