Как создать статическую библиотеку и добавить файл .a в любой проект в ios - программирование
Подтвердить что ты не робот

Как создать статическую библиотеку и добавить файл .a в любой проект в ios

Как создать статическую библиотеку и добавить файл .a в любой проект в ios.

Я попытался сделать это, но не смог этого сделать.

Заранее спасибо

4b9b3361

Ответ 1

если вы хотите создать static lib mean, обратитесь к ссылке http://jaym2503.blogspot.in/2013/01/how-to-make-universal-static-library.html

Шаг 1: Создайте новый проект, назвав его "Logger"

Шаг 2: Создание классов

Вы можете создать столько классов, которые вам нужны. В нашем учебнике мы создадим один класс под названием "Logger". Итак, теперь два наших файла должны быть в нашем ресурсе. 1. Logger.h 2. Logger.m

Шаг 3: Поместите полезный код в классы

Шаг 4: Создать новую цель

Создать новую цель из меню файлов.

Новая цель Выберите Cocoa Touch Static Library

Шаг 5: добавление файлов для компиляции ресурсов

Выберите "Логгер" Цель статической библиотеки Перейти к этапам сборки В разделе "Собранные источники" добавьте все файлы .m и .mm. В разделе "Копировать файлы" добавьте все файлы .h и файлы ресурсов.

Фазы сборки

Шаг 6. Компиляция проекта с целью статической библиотеки

Скомпилировать проект для устройства iOS Компилировать проект для симулятора Вы можете найти два разных файла .a, сгенерированных в папках сборки.

Найти .a файл

Шаг 7. Создание универсальной универсальной библиотеки

Теперь вы можете найти две разные библиотеки: один для симулятора и один для устройств iOS.

Создайте новую папку и назовите ее LoggerMerge. Скопируйте libLogger.a файл папки Debug-iphoneos в "LoggerMerge", переименуйте его в libLogger_device.a Скопируйте libLogger.a файл папки Debug-iphonesimulator в "LoggerMerge", переименуйте его в libLogger_simulator.a Открыть папку LoggerMerge с помощью терминала Огонь ниже команды lipo-create "libLogger_simulator.a" "libLogger_device.a" -output "libLogger.a"

Теперь вы можете найти libLogger.a в папке LoggerMerge, это универсальный файл статической библиотеки. Теперь вам нужно только одно: заголовки, см. Выше скриншот, есть папка, которая называется include в обеих папках сборки. Просто скопируйте файл заголовка из этой папки.

Шаг 8: Проверка статической библиотеки

Создайте новый проект, назовите его TestLogger Импортировать файлы libLogger.a и заголовочные файлы Импортировать файл заголовка "Logger.h" в любом месте, которое вы хотите использовать. Теперь используйте этот класс Logger в качестве практики по умолчанию. В нашем случае [Logger log: @ "Test String" ]; Запустить проект в Simulator и Device как Это!! У вас есть собственная статическая библиотека!

Ответ 2

Шаг 1: Запуск проекта новой статической библиотеки

Откройте XCode и запустите новый проект. В разделе iOS выберите "Библиотека" и "Cocoa Touch Static Library", скажем, как "staticlibrary". Это создаст для нас новый новый проект, который создает файл .a.

Шаг 2: Введите свою статическую библиотеку Сначала нам нужно добавить некоторые файлы. Добавьте новый подкласс NSObject к вашему проекту и назовите его StaticClass. Затем напишите полезный код в этих файлах.

Шаг 3: Создание и распространение вашей библиотеки Как только вы довольны своей библиотекой, просто создайте ее в XCode. Очевидно, что не создавайте и запускайте, поскольку вы не можете запустить его (опять же, если у вас нет набора тестов). Теперь посмотрите в группе "Продукты" в XCode, и вы должны увидеть файл lib (libraryName).a. В нашем случае его libstaticlibrary.a.

Щелкните правой кнопкой мыши на этом файле и выберите "Reveal In Finder". Перетащите этот файл в новую папку, которую вы создаете, где вы будете связывать все файлы вашей библиотеки. Теперь сделайте то же самое со всеми файлами .h. В нашем случае просто скопируйте StaticClass.h в этот новый каталог. Структура вашего каталога теперь должна выглядеть так:

FolderName
|- libstaticlibrary.a
|-  StaticClass.h

Теперь вы можете закрепить эту папку и продать ее потенциальным разработчикам iOS для миллионов!

Шаг 4: Связывание библиотеки в новом проекте Итак, теперь, когда вы создали свою блестящую новую статическую библиотеку, пришло время ее протестировать в другом приложении.

Создайте новый проект на основе View (или независимо от того, что это действительно имеет значение). Назовите его как тест.

Теперь просто перетащите эту папку в проект, и XCode автоматически установит все ссылки. Когда будет предложено копировать, я обычно говорю "да", но вы можете делать все, что хотите, в зависимости от того, как вы собираетесь использовать библиотеку. Иногда просто связывание и не копирование гораздо более выгодно, если у вас есть несколько проектов, совместно использующих одну библиотеку. Это гарантирует, что все они используют самую последнюю версию.

Теперь вы должны увидеть файл .a вместе с файлами заголовков в новом проекте.

Шаг 5: Использование кода статической библиотеки

Теперь, когда все ссылки настроены, вы просто используете свою библиотеку, как и любой другой класс.

Для дальнейших разъяснений http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial надеюсь, что этот учебник поможет вам.

Ответ 3

Потребитель Objective-C → статическая библиотека Objective-C

Версия Xcode 10.2.1

Создать статическую библиотеку Objective-C

Создать проект библиотеки или создать целевой объект библиотеки

File -> New -> Project... -> Cocoa Touch Static Library
//or
Project editor -> Add a Target -> Cocoa Touch Static Library 

Создать файл module.modulemap[About]

module module_name {
    umbrella header "module_name-umbrella.h"
    export *
}

Создайте файл module_name-umbrella.h[About] и добавьте все файлы .h, которые будут открыты для потребителя

#import "header_1.h"
#import "header_2.h"

Добавьте файлы module.modulemap и module_name-umbrella.h в раздел Copy Files[About]

Project editor -> select a target -> Build Phases -> Copy Files -> add 'module.modulemap', 'module_name-umbrella.h' 

Добавить файлы реализации .m

Select '.m' file -> Select File Inspectors Tab -> Target Membership -> Select the target
//or
Project editor -> select a target -> Build Phases -> Compile Sources -> add files

Добавить файлы заголовков .h, которые были перечислены в module_name-umbrella.h (header_1.h, header_2.h)[can not do it] [public target membership]

Select '.h' file -> Select File Inspectors Tab -> Target Membership -> Select the target and make it **public**
//or
Project editor -> select a target -> Build Phases -> Headers -> add files to the **public** zone

Сборка библиотеки - ⌘ Command + B или Product -> Build

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

Найти сгенерированный вывод[Build location]

Products group -> lib<product_name>.a -> Show in Finder

Каталог включает в себя

  • lib<product_name>.a - встроенная статическая библиотека
  • Папка include/<product_name> с файлами из секции Copy Files
  • Папка usr/local/include с файлами из секции Headers. Есть открытые интерфейсы/определения

Использование статической библиотеки Objective-C

Drag and drop двоичный файл в проект Xcode[About]

Link Library[Undefined symbols] [Link vs Embed]

Project editor -> select a target -> General -> Linked Frameworks and Libraries -> add -> Add Others... -> point to 'lib<product_name>.a' file
//or
Project editor -> select a target -> Build Phases -> Link Binary With Libraries -> add -> Add Others... -> point to 'lib<product_name>.a' file

Добавить Library Search paths[Library not found for] [Recursive path]

Project editor -> select a target -> Build Settings -> Search Paths -> Library Search paths -> add path to the parent of 'lib<product_name>.a' file

Добавить Header Search Paths[Module not found] [Recursive path]

Project editor -> select a target -> Build Settings -> Search Paths -> Header Search Paths -> add path to generated 'include/<product_name>' folder with 'module.modulemap' and '<product_name>-umbrella.h'

Импортировать модуль в код клиента Objective C[module_name]

@import module_name;

Больше примеров здесь