wait_fences: не удалось получить ответ: 10004003 - что? - PullRequest
6 голосов
/ 07 апреля 2010

Получаю эту странную ошибку.

вот в чем дело - в приведенном ниже методе у меня появляется окно с предупреждением, возьмите U / N и PW, а затем попытайтесь запустить другой метод.

Способ

   -postTweet

не активируется

Я просто получаю эту ошибку в консоли

 wait_fences: failed to receive reply: 10004003

Что действительно странно - как я никогда раньше не видел

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (alertView == completeAlert ) {
        if (buttonIndex ==1) {
            passPromtAlert = [[UIAlertView alloc] initWithTitle:@"Enter Name" message:@"Please enter your Username and password - they will be saved\n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Tweet", nil];
            [passPromtAlert addTextFieldWithValue:@"" label:@"Enter username"];
            [passPromtAlert addTextFieldWithValue:@"" label:@"Enter password"];

            textField = [passPromtAlert textFieldAtIndex:0];
            textField2 = [passPromtAlert textFieldAtIndex:1];
            textField.clearButtonMode = UITextFieldViewModeWhileEditing;
            textField.keyboardType = UIKeyboardTypeAlphabet;
            textField.keyboardAppearance = UIKeyboardAppearanceAlert;
            textField.autocapitalizationType  = UITextAutocapitalizationTypeWords;
            textField.autocorrectionType = UITextAutocapitalizationTypeNone;
            textField.textAlignment = UITextAlignmentCenter;

            textField2.secureTextEntry = YES;

            textField2.clearButtonMode = UITextFieldViewModeWhileEditing;
            textField2.keyboardType = UIKeyboardTypeAlphabet;
            textField2.keyboardAppearance = UIKeyboardAppearanceAlert;
            textField2.autocapitalizationType  = UITextAutocapitalizationTypeWords;
            textField2.autocorrectionType = UITextAutocapitalizationTypeNone;
            textField2.textAlignment = UITextAlignmentCenter;

            [passPromtAlert show];
        }
    }
    if (alertView == passPromtAlert ) {
        if (buttonIndex == 1) {
        NSLog(@"here");         
        [self postTweet];
        }
    }
}

Любая помощь будет оценена

Спасибо

Sam

ДОБАВЛЕНО:

Если вам нужно увидеть больше кода, дайте мне знать

Ответы [ 4 ]

6 голосов
/ 02 июля 2011

Здесь я также столкнулся с той же проблемой в своем проекте, и мне удалось решить эту проблему сейчас. Вам нужно вызвать метод, используя NSTimer.

Итак, здесь вы вызываете одно оповещение внутри другого оповещения, значит, когда одно оповещение отклоняется, тогда новое оповещение, которое вы вызываете там. В этом нет проблем. Вы можете сделать это легко. Вместо определения alertview внутри метода "- (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex { if (alertView == completeAlert) ", вы можете создать один метод, например" Show_AlertMessage ", и вызывать его, используя таймер, подобный этому.

    [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(Show_AlertMessage) userInfo:nil repeats:NO];

Дайте мне знать, если вы можете избавиться от этой проблемы. Мы решим эту проблему, как я сделал для моей стороны.

1 голос
/ 16 апреля 2010

Я полагаю, что проблема вызвана тем, что вы создали еще одно предупреждение, прежде чем отклонить первое. Поскольку предполагается, что только один просмотр предупреждений может присутствовать в любом случае один раз, второй просмотр предупреждений наступает на первый.

Перед созданием и отображением второго необходимо отменить первое представление.

0 голосов
/ 19 октября 2012

Решение уже здесь! У меня была та же ошибка, теперь у меня есть решение, это может помочь вам. Используйте этот делегат AlertView

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
0 голосов
/ 19 апреля 2010

Ваш UITextField* не отказывается от статуса первого ответчика до того, как предупреждение будет отклонено.

Это портит цепочку респондента. Добавьте [textField resignFirstResponder] или [textField2 resignFirstResponder], как это применимо в реализации UIAlertViewDelegate (alertView:clickedButtonAtIndex:)

Кроме того, запланируйте отображение второго UIAlertView после закрытия первого (вы можете сделать это с помощью (performSelector:withObject:afterDelay:)

...