我正在做Facebook集成教程,如果用户有当前状态的有效令牌,我想显示我的MainViewViewController,否则我想显示LoginViewController.
MainViewAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded) {
// To-do, show logged in view
} else {
// No, display the login page.
[self showLoginView];
}
return YES;
}
- (void)showLoginView
{
UIStoryboard *mainstoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
LoginViewController* loginViewController = [mainstoryboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
[self.window.rootViewController presentViewController:loginViewController animated:YES completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)
控制台错误:
Warning: Attempt to present <LoginViewController: 0xb492fd0> on <MainViewViewController: 0xb1bd820> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)
我不想使用NavigationController.
我正在从iOS客户端发送POST请求
-(void)loadFavorite:(NSArray*)favorites{
//data and url preparation
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"https://example.com" forHTTPHeaderField: @"Referer"];
[request setValue:[NSString stringWithFormat:@"%tu", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];
if ([Tools isNetWorkConnectionAvailable]) {
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
//response handle
}
}
Run Code Online (Sandbox Code Playgroud)
以下是回复:
<div id="summary">
<h1>Forbidden <span>(403)</span></h1>
<p>CSRF verification failed. Request aborted.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在使用Flask框架和pythonanywhere进行托管.
当我重新加载python脚本时它工作正常,但几小时/几天后CSRF验证失败错误重新出现.
即使我尝试在app.py中禁用CSRF验证:
app.config['WTF_CSRF_CHECK_DEFAULT'] = False
Run Code Online (Sandbox Code Playgroud)
App.py脚本:
//some import error handlers ...
app = Flask(__name__)
app.config['WTF_CSRF_CHECK_DEFAULT'] …Run Code Online (Sandbox Code Playgroud)