Почему я хочу использовать статическую библиотеку?

Я понимаю, что для целей, отличных от iOS, использование разделяемых библиотек может привести к снижению использования памяти, а также к тому, что некоторые компании распространяют библиотеку и заголовки (например, Superpin ), а статическая библиотека позволяет им не распространять источник своего продукта. Но вне их, каковы причины, по которым вы хотите использовать статическую библиотеку? Я использую git для всех своих проектов, и я обычно добавляю внешние библиотеки (с открытым исходным кодом) в качестве подмодуля. Это означает, что они занимают дисковое пространство локально, но они не загромождают репо. Кроме того, поскольку iOS не поддерживает разделяемые библиотеки, преимущества создания библиотек для содействия повторному использованию кода уменьшаются.

В принципе, существует ли какая-либо причина за пределами продажи закрытых исходных библиотек, что имеет смысл создавать / использовать статические библиотеки для iOS?

3 Solutions collect form web for “Почему я хочу использовать статическую библиотеку?”

организации, повторного использования и легкой интеграции в другие программы.

если у вас есть библиотека, которая используется несколькими приложениями или целями на нескольких платформах, вам необходимо будет поддерживать сборку для каждого приложения. с библиотекой, вы позволяете разработчику библиотеки правильно настроить сборку, тогда вы просто ссылаетесь на результат (если он разработан внутри, то вы также захотите добавить его как зависимость).

это как DRY, но для проектов.

библиотеки становятся более полезными, поскольку проекты становятся более сложными. вы должны попытаться определить, какие программы (функции, иерархии классов и т. д.) можно повторно использовать вне контекста вашего приложения, и поместить их в библиотеку для простого повторного использования – например, распознавания образов.

как только ваша кодовая база содержит сотни или тысячи файлов, вам нужно будет свести к минимуму то, что вы используете, и вы не захотите вручную поддерживать зависимости для каждого проекта.

Кроме того, поскольку iOS не поддерживает разделяемые библиотеки, преимущества создания библиотек для содействия повторному использованию кода уменьшаются.

Нет причин, по которым вы не можете создать свою собственную статическую библиотеку для использования в нескольких проектах. Кроме того, что для этой цели и тех, о которых вы упомянули, я не думаю, что многое другое.

Статические библиотеки позволяют иметь действительно автономные исполняемые файлы. Поскольку весь код библиотеки фактически физически присутствует в исполняемом файле, вам не нужно беспокоиться о том, что exec не запускается, потому что есть слишком старая версия какой-либо библиотеки или слишком новая, или она полностью отсутствует, и т. Д. . И вам не нужно беспокоиться о том, что ваше приложение внезапно ломается, потому что какая-то библиотека была заменена. Он сокращает зависимость и позволяет вашему приложению быть более инкапсулированным.

  • Получение MobileVLCKit для работы через Cocoapods
  • Комплект интеграции CCAvenue Gateway для приложения ios
  • Xcode 7.3 не может создавать xib для UIView / UITableViewCelltogether
  • Добавление панели навигации в приложении на основе табуляции
  • Исключение NSURLConnectionLoader с OS X, но работа с IOS
  • Зависимость `AFNetworking (~> 2.5)` не используется ни в какой конкретной цели
  • Можно ли поставить if в #define?
  • «Недопустимая поддержка Swift - отсутствует папка SwiftSupport» с Xcode 7.3.1
  • Резервное копирование и восстановление файла базы данных .sqlite для папки документов в iCloud?
  • Установите шрифт для UIDatePicker в iOS10 с помощью Swift 3
  • Версия сборки раскадровки
  • Interesting Posts

    Изменение изображения значка SwRevealViewController на клике

    UIButton не работает в uiscrollView

    Crashlytics с iOS 9 Невозможно загрузить приложение

    Отображать все контакты с устройства iOS в настраиваемом виде viewcontoller, когда нажата кнопка контакта, а не по умолчанию.

    Самый быстрый способ визуализации UIButtons с использованием слоев и Grand Central Dispatch?

    Объекты с базой данных с загрузочными объектами с резервным доступом вызывают NSObjectInaccessibleException

    Ошибка AUIOClient_StartIO (-66628) во время работы на устройстве iPhone

    Когда слабый объект = , кто имеет копию ?

    Ошибка только на iPhone для фиксированного подменю при прокрутке

    Можете ли вы иметь iOS 2 разные цели с тем же названием продукта в Xcode 4.3.2?

    Наличие проблемы с WWDR Appcelerator Titanium при создании устройства

    Обновляет ли подписка на iOS имя приложения?

    Просмотр заблокирован UITransitionView после представления

    прокрутите массив словарей, чтобы найти значение

    Изменение / масштабирование UIImageView – SWIFT

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.