Решил проблему таким образом. Возможно, кому-то еще пригодится в будущем. Мне помогла минимальная задержка обновления. Вот пример:
- (IBAction)loginFacebook:(UIButton *)sender
{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logOut];
[login
logInWithReadPermissions: @[@"public_profile",@"email"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
[self showError:error];
} else if (result.isCancelled) {
NSLog(@"Cancelled");
} else {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[LoadingView startLoading:@"" inView:[[UIApplication sharedApplication].delegate window] isProgress:NO showWithCheckmark:NO];
[[BackendService sharedBackendService] fbLoginWithAccessToken:result.token.tokenString successBlock:^() {
[_errorView removeFromSuperview];
_errorView = nil;
STOP_LOADING
[self showMainVC];
} errorBlock:^(NSError *error) {
STOP_LOADING
[self showError:error];
}];
});
}
}];
}
Да, это замедляет сервер, потому что это должно получить доступ к файлу каждый раз, когда к ресурсу в том каталоге или любом подкаталоге этого получают доступ.
Объем перенаправлений не релевантен, потому что основной хит производительности является самим доступом к файлу. Это в рамках разумных ограничений (т.е. 5 Кбит htaccess файл займет более или менее то же время, которое будет проанализировано, чем на 1 Кбит, другая история, - 1 МБ htaccess, хотя я никогда не видел, что чудовище и надеется, что я никогда не буду),
В то время как это верно, что .htaccess анализируется по каждому запросу и таким образом технически медленнее, чем помещение Ваших правил в основном файле конфигурации, в действительности это не имеет значения. Апачский механизм конфигурации справедливо optmized C код, это встраивается в веб-сервер. Если Вы только не служите маленьким статическим файлам без доступов базы данных вообще, дополнительные издержки .htaccess и перенаправлений незначительны.
Современные процессоры так быстры, что необходимо было бы действительно делать значительный объем трафика для волнения об этом. При выполнении этого большого трафика, и так как это - все статическое содержание, разрешение, и купите себя второй сервер для совместного использования загрузки.
Используя .htaccess файл медленнее, чем использование конфигурационного файла - .htaccess файл анализируется каждый раз, когда запрос выполнен к каталогу, это влияет - это допускает изменение файла, не перезапуская сервер. Так как конфигурационный файл анализируется только, после того как в сервере запускаются, это быстрее.
Сумма директив, которые Вы можете иметь в .htaccess файле без значительного влияния производительности, будет основана на сложности правил и специфических особенностей Вашего сервера, хотя основной хит производительности будет от использования .htaccess файла вообще.