Почему для открытия пакета OS X требуется около 30 секунд?

Мы написали простой исполняемый файл OS X с целью c. Он открывается и работает очень быстро при вызове.

Затем мы помещаем этот исполняемый файл в комплект.app. При вызове "open" из командной строки этого пакета или двойном щелчке приложения из поиска программа "open" может вернуть до 30 секунд.

Это особенно запутанно, потому что "open" сразу же запускает исполняемый файл (я вижу, что он сразу запускается в списке процессов, и у него есть другие признаки того, что он работает), но когда это делается из командной строки, команда "open" Возвращение занимает много времени, и когда это делается из Finder, иконка будет очень долго подпрыгивать, прежде чем вести себя нормально.

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

Кто-нибудь сталкивался с этим раньше? Есть ли у вас какие-либо предложения о том, что может вызвать что-то подобное? Я не смог увидеть ничего смешного в структуре пучка или в списке, но, возможно, я что-то упустил.

1 ответ

Попробуйте собрать около 10 секунд общесистемных данных выборки с помощью Shark во время этого 30-секундного зависания и посмотрите, на что тратится время - это должно дать вам довольно большую подсказку о том, почему у вас есть проблемы со временем запуска.

Другие вопросы по тегам