Белый экран в Xcode 4.2 после преобразования в Objective C ARC - PullRequest
0 голосов
/ 25 января 2012

Я прочесал весь интернет в поисках этого ответа и ничего не нашел, поэтому решил опубликовать.

ОБОРУДОВАНИЕ: Mac Mini (2011), работает под управлением OSXLion (10.7), оперативная память 8 ГБ, 500 ГБ HD XCODE: версия 4.2, работающие симуляторы IPAD 4.3 и 5.0

Я разработал приложение для Ipad с помощью программы HYPE (html 5 designer / generator), эта программа была разработана командой APPLE. Затем я перенес его в Xcode, используя шаблон PhoneGap. Я разработал это приложение в предыдущей версии Xcode (4.0 с использованием MAC OSX Snow Leopard) и смог успешно перенести все в Xcode 4.2 (включая шаблон телефонной пробки).

Все работало нормально. Я успешно запустил свое приложение в магазине приложений (Five Element Clinic Book HD - http://itunes.apple.com/us/app/five-element-clinic-book-hd/id495512918?alreadyRedirected=1&ign-mpt=uo%3D2&mt=8)

Я заметил некоторые проблемы, которые я хотел бы изменить (а именно, внешний хостинг не работал - мое встроенное видео на YouTube (iframe) не работало, ссылки на внешние сайты не работали, а iframe, добавляющее счетчик сценариев (javascript), также не работало показывать - поэтому я решил взглянуть на все, чтобы посмотреть, будет ли работать добавление более подробных URL-адресов в область внешних хостов phonegap.plist.

Я даже не зашел так далеко. Когда я снова открыл XCode (примерно через 2 недели, поэтому, должно быть, произошло какое-то изменение API) - у меня был тон ошибок, которые привели меня к информации о необходимости конвертировать мои файлы в Objective C ARC.

Так я и сделал, без ошибок и проблем. Все преобразовано без проблем. Все файлы показаны в преобразованном в Objective C ARC.

Я ОЧИСТил, а затем перезагрузил - абсолютно без ошибок и предупреждений - и НАБИРАЛ мое приложение в симуляторе IPAD (4.3 и 5.0).

Вот что происходит. Симулятор открывается, мое приложение запускается, отображается экран запуска, приложение начинает загружать оставшуюся часть приложения и просто переходит на БЕЛЫЙ ЭКРАН. Навсегда. Это никуда не денется.

Итак, я вышел из приложения, перезапустил приложение, удалил приложение, попробовал все снова. Та же проблема. Если я выйду из приложения, оно просто перейдет на черный экран. Я также перезапустил Xcode и мой компьютер, запустил дисковые накопители для исправления прав доступа к файлам и т. Д.

У меня все еще есть старый проект на моем старом ноутбуке (Xcode 4.0, MAC OSx Snow Leopard). Поэтому я вернулся туда, чтобы посмотреть, смогу ли я просто работать из старой среды. Нету. Те же ошибки, которые требуют от меня преобразования файлов в Objective C ARC. Так что я перевел с нуля проблем и ошибок. Почистил, встроил - ошибок нет) и запустил программу в симуляторах. Ни один из них не работает, все загружает стартовый экран и переходит на белую страницу.

Кто-нибудь знает, что происходит?

И спасибо.

1 Ответ

1 голос
/ 29 декабря 2013

У меня был не белый экран, а черный экран.

В приложении DidFinishLaunching я использовал результат

UIWindow* window = [[UIWindow alloc] initWithFrame:mainBounds];

как локальная переменная.

Преобразование в ARC освободило его.

Вместо этого его нужно было присвоить свойству делегата моего приложения:

@interface MyAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *mainWindow;
}
...