если Вы хотите "притон", который убегает, ответвление делает что-то вроде этого для хранения изменений на новом ответвлении от текущего ответвления.
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
надежда, которой это помогло!
What's more likely is, On Exit, they save state, then on Launch resume they transfer.
К сожалению, вы не можете создать фоновый процесс с помощью iPhone SDK. Вы сможете загружать данные только во время работы приложения.
Если данные должны быть отправлены, я бы дождался завершения передачи в applicationWillTernimate :. Насколько мне известно, приложение не закроется, если вы заблокируете поток в applicationWillTerminate (поправьте меня, если я ошибаюсь). Но будьте осторожны, если объем данных огромен или скорость Интернета у пользователя отстой, вам все равно следует выйти и возобновить передачу в следующий раз. Предлагается установить таймер для проверки тайм-аута.
Внимание: это может быть отклонено App Store.
Блокировать поток в 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];
}
Это должно помочь вам закончить работу. Только для взломанных.
Служба Deamon - это лучшие службы, а не другие службы или концепция фоновой обработки в iphone. Посетите следующую ссылку
http://chrisalvares.com/blog/?tag=iphone-daemon .