Как реализовать процесс Демона для фоновой задачи в iphone sdk 3.0? [закрытый]

если Вы хотите "притон", который убегает, ответвление делает что-то вроде этого для хранения изменений на новом ответвлении от текущего ответвления.

git checkout -b new_stash
git commit -a -m "stashed changes"

для отмены притона

git reset HEAD^
git branch -d new_stash

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

git pull

, и Вы не можете, можно спрятать изменения, вытянуть и затем применить притон

git stash
git pull
git stash apply
git stash clear

надежда, которой это помогло!

5
задан dvch 11 September 2009 в 20:40
поделиться

6 ответов

iPhone OS не позволяет добавлять фоновые процессы.

9
ответ дан 18 December 2019 в 06:36
поделиться

What's more likely is, On Exit, they save state, then on Launch resume they transfer.

6
ответ дан 18 December 2019 в 06:36
поделиться

К сожалению, вы не можете создать фоновый процесс с помощью iPhone SDK. Вы сможете загружать данные только во время работы приложения.

2
ответ дан 18 December 2019 в 06:36
поделиться

Если данные должны быть отправлены, я бы дождался завершения передачи в applicationWillTernimate :. Насколько мне известно, приложение не закроется, если вы заблокируете поток в applicationWillTerminate (поправьте меня, если я ошибаюсь). Но будьте осторожны, если объем данных огромен или скорость Интернета у пользователя отстой, вам все равно следует выйти и возобновить передачу в следующий раз. Предлагается установить таймер для проверки тайм-аута.

Внимание: это может быть отклонено App Store.

0
ответ дан 18 December 2019 в 06:36
поделиться

Блокировать поток в applicationWillTerminate: не будет убит в ближайшее время, но будет отклонен App Store. Для приложений, не относящихся к AppStore, или личных приложений, вот код:

@interface MyApplication : UIApplication
{
    BOOL _isApplicationSupposedToTerminate;
}
@property (assign) BOOL isApplicationSupposedToTerminate;
- (void)_terminateWithStatus:(int)status;
@end


@implementation MyApplication
@synthesize isApplicationSupposedToTerminate = _isApplicationSupposedToTerminate;
- (void)_terminateWithStatus:(int)status
{
    if (self.isApplicationSupposedToTerminate) {
        [super _terminateWithStatus:status];
    }
    else {
        return;
    }
}
@end

В main.m

    int retVal = UIApplicationMain(argc, argv, @"MyApplication", nil);

Делегат:

- (void)applicationWillTerminate:(UIApplication *)application
{
    [(MyApplication*)application setIsApplicationSupposedToTerminate:!kIsTransferDone];
}

Это остановит приложение от завершения, если ваш перенос не будет выполнен. Очень важно установить таймер для проверки. А в applicationDidReceiveMemoryWarning: закройте приложение с помощью:

- (void) applicationDidReceiveMemoryWarning: (UIApplication *) application { [(MyApplication *) приложение setIsApplicationSuppposedToTerminate: YES]; [приложение terminateWithSuccess]; }

Это должно помочь вам закончить работу. Только для взломанных.

5
ответ дан 18 December 2019 в 06:36
поделиться

Служба Deamon - это лучшие службы, а не другие службы или концепция фоновой обработки в iphone. Посетите следующую ссылку
http://chrisalvares.com/blog/?tag=iphone-daemon .

1
ответ дан 18 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: