xcode медленно устанавливается на симуляторе и устройстве - PullRequest
2 голосов
/ 21 июня 2010

Для «сборки и запуска» на симуляторе требуется около 30 секунд

Для «сборки и запуска» на устройстве требуется около 5 минут.

Я на 99% уверен, что причина в том, чточто у меня много образов (~ 4000 ~ 80 МБ).

Сам этап сборки занимает около 2 секунд, поэтому проблема в установке.

У кого-нибудь есть какие-либо советы, чтобы ускорить его?Изображения не нужно менять, поэтому можно ли сказать XCode не копировать изображения каждый раз?Или что-то еще может замедлить это?

Спасибо

Ответы [ 2 ]

4 голосов
/ 21 июня 2010

Мое решение для этого состояло в том, чтобы установить zip-файл на моем Mac, а затем заставить приложение iPhone определять, были ли загружены ресурсы, если нет, взять их с Mac и распаковать.Затем приложение становится тонким и загружает то, что ему нужно.Это только для целей отладки, в конце концов, вы хотели бы установить все ресурсы, чтобы людям не приходилось загружать их после установки.Соответствующий код выглядит примерно так (без проверки ошибок, и вам может понадобиться скорректировать пути).Я использовал отличную библиотеку ASIHTTP и проект ZIPArchive .Вам нужно изменить URL-адрес для загрузки.

  BOOL isDirectory;
  BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:installDirectory  isDirectory:&isDirectory];
  NSLog ( @"Checking for file: %@", installDirectory );
  if ( !fileExists ) {
    NSString* path = [docsPath stringByAppendingString:@"foo.zip"];
    NSLog ( @"Download file!" );
      NSURL *url = [NSURL URLWithString:@"http://10.0.0.11/~blezek/foo.zip"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request setDownloadDestinationPath:path];    
    [request startSynchronous];

    // Now unzip
    ZipArchive *zipper = [[[ZipArchive alloc] init] autorelease];
    [zipper UnzipOpenFile:path];
    [zipper UnzipFileTo:docsPath overWrite:NO];

    NSFileManager *fileManager = [NSFileManager defaultManager];
    [fileManager removeItemAtPath:path error:NULL];
  }
3 голосов
/ 21 июня 2010

Xcode, очевидно, поддерживает инкрементные обновления, поэтому иногда «build and go» не выполняет полное обновление приложения (это очень раздражает).

Самым простым может быть «установить» вещи в Документы или аналогичные, что сохраняется при обновлениях приложений. Надеюсь, он перемещает файлы вместо копирования.

...