Создание библиотеки iOS с помощью xcode 8

Я хочу создать библиотеку iOS для импорта в нескольких проектах.
Я пытался следовать severa (много!) учебник и руководства, а также ответы здесь без решить мою проблему.

Я использую xcode 8.1 (macOS sierra) и шаги для создания lib следующие:

  • new — >project — >>статическая библиотека cocoa touch
  • добавить все мои источники в проект

Задача уже выполнена:

  • Я переключил флаг «build active architecture only» на NO
  • Я добавил «другие флаги ссылок» — static-objC

Теперь нажмите cmd + B выбор симулятора в качестве цели

Перейдите в раздел Product — >Select the .a — >показать в finder

Библиотека показать, что срез:
‘Архитектуры в файле fat: ./ libPhoneNumber.a: i386 x86_64’

Следующие шаги показывают, как я использую библиотеку:
— перетащите .a в существующий проект
— перетащить все .h библиотека в существующий проект
— добавлен #import » libPhoneNumber.h » (файл существует)

Хит cmd+B, используя симулятор в качестве цели
Я всегда получаю следующее:

Неопределенные символы для архитектуры x86_64:
«_OBJC_CLAS_$_MYPhoneNumberUtil», ссылка из:
objc-class-ref в AppDelegate.o
ld: символы не найдены для архитектуры x86_64
clang: error: ошибка команды компоновщика с кодом выхода 1 (Используйте -v, чтобы увидеть вызов)

Итак, теперь очевидно, что срез x86_64 существует.

Я схожу с ума, кажется, что каждый гид просто не работает.
Есть другие идеи?

Спасибо всем

1 ответ

  1. Копаясь в нем, я обнаружил, что библиотека работает, если проект генерируется с новой->project->>статической библиотекой cocoa touch, но если я создаю другой тип проекта, а не добавляю цель статической библиотеки, эта цель не будет генерировать допустимую библиотеку.