При выполнении "просто извлечения и выполненные", Вы собираетесь работать в проблемах безопасности. Это особенно верно, если Вы - пользователи, выполняют Vista (или позже). существует ли причина, почему Вы не хотели упаковывать свои приложения в установщике? Используя установщик облегчил бы "внешний источник" проблема. Вы были бы в состоянии использовать .chm файлы без любых проблем.
Мы используем InstallAware для создания наших пакетов установки. Это не дешево, но очень хорошо. Если стоивший Ваше беспокойство, , WIX является открытым исходным кодом и довольно устойчивый. WIX действительно имеет кривую обучения, но легко работать с.
Частный API - это API, который не задокументирован в SDK. Например, класс инфраструктуры может объявлять метод, который не предназначен для использования сторонними разработчиками. Поведение частного API не гарантируется. Вы даже не можете быть уверены, что этот метод будет присутствовать в будущих обновлениях платформы. Его объявление, вероятно, недоступно в общедоступных файлах заголовков SDK.
Вам будет сложно случайно использовать частный API. Они не задокументированы в документации SDK и не отображаются в предложениях по завершению кода XCode.
Причина, по которой это стало в последнее время новостью, заключается в том, что создатель структуры, используемой несколькими приложениями, использовал частный API, поэтому, когда разработчики кто включил его фреймворк, обновил свои приложения, они были отклонены (хотя ЭТИ разработчики не использовали частный API, фреймворк, который они добавили в свое приложение, использовал).
Это единственный способ случайно использовать частный API .
Обычно из-за их отсутствия в заголовках SDK. Одно из соглашений Apple - начинать имена методов ObjC символами подчеркивания.
Нетрудно получить отказ из-за так называемого «использования частного API». Попробуйте использовать следующий атрибут в качестве атрибута Core Data, и он будет отклонен:
Показывает, как робот сканирует API.
Не только частные API-интерфейсы могут вызвать отклонение вашего приложения. Использование недокументированных членов общедоступного API может привести к отклонению вашего приложения. Например, библиотека three20 (с момента исправления) обращалась к _phase и другим членам UITouch в категории.
Они также могут обнаруживать вызовы частных членов через performSelector, поскольку следующее также помечает отклонение:
UIWindow* window = [UIApplication sharedApplication].keyWindow]
return !![window performSelector:@selector(firstResponder)];
Еще больше беспокоит то, что если вы заставляете свое приложение работать в версиях 3.1 и 3.0, а во время выполнения в версии 3.0 вы не используете ничего из 3.1, ваше приложение все равно может быть отклонено. Примером может быть cameraOverlayView
из UIImagePickerController
(см. здесь ). Это немного озадачивает.