目标: 允许用户使用Facebook进行身份验证,进入需要访问我正在运行的受保护Web服务的iOS应用程序.
假设: 对于那些选择不使用Facebook登录的用户,有一个原生身份验证(和注册)系统.
细节:
我很惊讶Facebook在他们的开发者文档中没有这方面的最佳实践.所有现有文档要么假设您正在构建一个网站的FB auth,要么是一个没有需要身份验证的服务的独立移动应用程序.
这是我对如何设计这个问题的初步想法,但是想要验证它是否正确.
我们的服务器使用访问令牌与FB图形API进行通信,以(a)验证令牌和(b)获取该访问令牌的FB用户ID.
例如,我们的服务器将调用https://graph.facebook.com/me/?access_token=XYZ,它将返回JSON对象中的配置文件信息
假设它有效,我们的服务器从JSON对象中提取用户ID并检查用户是否已经拥有一个帐户.如果是这样,我们会向客户端发出我们自己的身份验证票据以用于该会话.如果用户没有帐户,我们使用Facebook用户ID创建一个新帐户,分配我们自己的唯一用户ID并发出我们的身份验证票.
这对我来说似乎是正确的方法,但不确定我是否遗漏了一些疯狂的基本内容并走错了(复杂的)路径.
多种颜色NSString或NSMutableStrings不可能.所以我听说过一些关于iPad SDK 3.2(或3.2左右)NSAttributedString引入的内容,并且可以在iPhone SDK 4.0 beta版的iPhone上获得.
我想要一个有三种颜色的字符串.
我不使用3个单独的NSStrings的原因是因为三个NSAttributedString子串中的每个子串的长度经常变化,所以我更喜欢,不使用任何计算来重新定位3个单独的NSString对象.
如果可以使用NSAttributedString我如何进行以下操作 - (如果不能使用NSAttributed字符串,你会怎么做):

编辑:
请记住,@"first",@"second"并@"third"会在任何时间其他字符串替换.因此,使用硬编码的NSRange值将不起作用.
我想检查用户是否在低于5.0的iOS上运行应用程序并在应用程序中显示标签.
如何以编程方式检测用户设备上运行的iOS?
谢谢!
我正在努力捕获我的应用程序中的错误,我正在研究使用NSError.我对如何使用它以及如何填充它感到有些困惑.
有人可以提供一个关于我如何填充然后使用的例子NSError吗?
我UIApplicationDelegate在我的主AppDelegate.m类中有协议,applicationDidBecomeActive定义了方法.
我想在应用程序从后台返回时调用方法,但该方法在另一个视图控制器中.如何检查applicationDidBecomeActive方法中当前显示的视图控制器,然后调用该控制器中的方法?
我最近升级到Xcode 4(这是一个很棒的升级),但现在我收到了一些我以前没有得到过的警告.我查看了论坛和其他SO帖子,但没有遇到如何解决这个问题.
我收到的警告是丢失文件的项目级警告.正在显示的文件已从项目导航器视图中删除(也选择从文件系统中删除).但是,它似乎仍以某种方式显示为与项目相关联,即使该文件不再出现在Project导航器中.
我环顾四周,没有找到如何告诉Xcode这些文件已经消失,停止给我警告.这是我在Xcode4中获得的截图,但从未进入过Xcode 3.

除了明显的差异:
enumerateObjectsUsingBlock时,你既需要索引和对象enumerateObjectsUsingBlock当你需要修改局部变量时不要使用被enumerateObjectsUsingBlock普遍认为是好还是坏的时候for (id obj in myArray)也将工作?有哪些优点/缺点(例如性能或多或少)?
1)CMTimeMake(1,10)表示1秒的持续时间和10或10帧/秒的时标.这意味着1帧视频的持续时间为10帧?
2)
CMTime lastTime=CMTimeMake(1,10);
CMTime frameTime=CMTimeMake(1, 10);
CMTime currentTime=CMTimeAdd(lastTime, frameTime)
Run Code Online (Sandbox Code Playgroud)
=(2,10)?
2秒的视频和每秒10帧的当前时间?
在Xcode 4中创建新项目时,样板代码在将实现文件中的ivars合成为时,会添加下划线字符:
@synthesize window = _window;
Run Code Online (Sandbox Code Playgroud)
要么:
@synthesize managedObjectContext = __managedObjectContext;
Run Code Online (Sandbox Code Playgroud)
有人能告诉我这里完成了什么吗?我不是一个完整的润滑剂,但这是客观的一个方面 - 我不明白.
另一个困惑点; 在app委托实现中,在如上所述合成窗口iVar之后,在应用程序didFinishLaunchingWithOptions:方法中,使用self引用窗口和viewController ivars:
self.window.rootViewController = self.viewController
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)
但是在dealloc方法中它是_window或_viewController
谢谢
我创建了一个App Store存档文件.在验证期间,它会使用以下消息引发错误
请确保您已在iTunes Connect上为此应用程序设置了记录.
ios4 ×10
ios ×6
objective-c ×4
iphone ×3
app-store ×1
cocoa-touch ×1
coding-style ×1
facebook ×1
multitasking ×1
nserror ×1
textcolor ×1
video ×1
xcode ×1
xcode4 ×1