在过去几周的某个地方,iOS中的授权Facebook调用失败了"找不到页面".对于尚未安装应用程序的任何用户,或者应用程序的权限已更改且用户必须批准其他权限,都会发生这种情况.无论Facebook应用程序处理用户身份验证还是Safari或弹出对话框,都会发生这种情况.全部重定向到"找不到页面"页面.
通过调试器,我发现登录屏幕的初始URL请求(app id替换"[app_id]"):
https://m.facebook.com/dialog/oauth?type=user_agent&display=touch&redirect_uri=fb[app_id]%3A%2F%2Fauthorize&sdk=2&scope=user_location%2Cuser_relationships%2Cemail%2Cpublish_stream%2Coffline_access&client_id=[app_id]
登录尝试正在寻找以下URL(我假设用户权限不足的URL):
http://www.facebook.com/dialog/permissions.request?_path=permissions.request&app_id=[appid]&redirect_uri=fb[appid]%3A%3F%3Fauthorize&sdk=2&display=touch&type=user_agent&fbconnect=1&perms=user_location%2Cuser_relationships% 2Cemail%2Cpublish_stream%2Coffline_access&SSO = iphone-狩猎&from_login = 1
我已经检查过Xcode中列出的Bundle ID与我在Facebook上的应用程序设置中列出的相同.
由于未显示权限页面,因此新用户无法添加应用程序.过去工作的我的应用程序的旧版本也以同样的方式失败.可能是什么问题呢?
我一直在阅读自动合成的伊娃.我的问题是,"它们是自动分配的吗?" 我本来希望它们是self的一部分,所以我可以在调试器中看到它们,但似乎我能看到它们的唯一方法是调用accessor方法(通过gdb'po'命令).类/对象的结构中是否没有空格(就像明确声明的ivar一样)?
(是否有现代Objective-C对象的内存中表示的描述?)
作为一个C家伙,不能看到一切都在哪里让我感到非常不舒服.:-P
在post中使用initWithNibName绝对没有任何改变,他展示了两个使用相同的View Nib定义,在第一种情况下,他只是调用alloc/init而第二种,他指定了initWithNibName.
所以,虽然这总是有效的:
MyViewController *vctrlr = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
[self.navigationController pushViewController:vctrlr animated:YES];
[vctrlr release];
以下适用于我继承的所有View Controllers,但不是我的!
TheirViewController *vctrlr = [[TheirViewController alloc] init];
[self.navigationController pushViewController:vctrlr animated:YES];
[vctrlr release];
iOS编程新手,我继承了一些代码.所有View Controllers的视图都在IB中定义,但这些视图控制器的分配/初始化创建不一致.我创建了一个新的View Controller和XIB,但它不起作用,除非我使用initWithNibName(当我将视图控制器推到Nav Controller上时崩溃).我不知道我的视图控制器与其他控制器有什么不同...任何提示?我能够删除应用程序中除我的所有其他视图控制器的initNibName用法.
interface-builder uiviewcontroller designated-initializer ios