2015-04-13 2 views
3

Я работаю над статической библиотекой и образцовым приложением, я начал статическое приложение с образцом и образцом с Xcode 6.1.1, и поэтому он отлично работал с этой версией Xcode.Лексическая проблема в xcode 6.3

Теперь, когда я обновил свой Xcode 6.3 на прошлой неделе мой образец приложение начал давать мне lexical or preprocessor issue и не распознает файл класса для входа статической библиотеки. Я не изменил любую вещь, она по-прежнему работает нормально с Update на Xcode 6.1.1

Вот скриншот параметров сборки для Static Library и Test APP

Статическая библиотека ->

Static Library

Статические библиотеки строят фазы ->

enter image description here Test App ->

Test App

Построить Phases для тестирования приложения. enter image description here

Я получаю некоторую новую ошибку во время компиляции, как показано ниже ... enter image description here

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

и это, как мой заголовок и путь поиска пользователей соответственно выглядит ... Header search path

enter image description here

+0

Не могли бы вы предоставить полный список ошибок? – ninjaproger

+0

@ninjaproger извините, я знал, что слишком поздно ответить вам, но, как они говорят, лучше поздно, чем никогда. поэтому ошибка говорит «lexical или preprocessor issue» и «xyz.h» файл не найден, и этот xyz.h является только точкой входа в мою статическую библиотеку. – Suryakant

+0

Не могли бы вы поделиться любым кодом? Не добавляя какую-либо информацию, вы не можете помочь. – Sulthan

ответ

1

я встретил подобный вопрос некоторое время назад.

Решение # 1 Попытка сделать анализ кода: XCode -> Продукт> Анализ https://developer.apple.com/library/ios/recipes/xcode_help-source_editor/chapters/Analyze.html

Решение # 2 Попробуйте заново создать свой проект из нового проекта шаг за шагом по справляясь файлы с током проект. Возможно, на каком-то этапе у вас будет такая же проблема, поэтому вы сможете локализовать проблему.

1

Xcode 6.3 использует swift 1.2, и там небольшие изменения, которые необходимо выполнить, чтобы запустить его. Проблема с препроцессором также произошла с одним из моих проектов.

Вам в первую очередь необходимо открыть приложение делегата и обновить подпись методы didFinishLaunching в

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool 

Вам также может понадобиться изменить, чтобы, как! или как? в некоторых местах.

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

+0

проблема показана в 'ViewController.h', где я добавил точку входа в' Static library'. это просто сказать лексический или препроцессор вопрос/файл не найден. btw Я использую object-c – Suryakant

2

Убедитесь, что в настройках сборки основного файла приложения User Header Search Paths и/или Header Search Paths включен путь к каталогу проектов статической библиотеки. Установите путь к recursive, чтобы убедиться, что он обнаруживает все заголовки.

+0

Пути поиска заголовка пользователя и/или пути поиска заголовков выглядят хорошо для меня. для вашей справки я прилагаю скриншот. Теперь я получаю некоторые новые ошибки, прикрепляя скриншот для этих целей. Пожалуйста, смотрите. – Suryakant

+0

Вы поняли, что @Joshua? – Suryakant

+0

@SuryakantSharma В настройках сборки статической библиотеки попробуйте изменить 'Build Active Architecture Only' только с' YES' на 'NO' – Joshua

3
file was built for archive which is not the architecture being linked (i386) 

Эта ошибка означает, что

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

Первое изображение подтверждает это - вы создаете статическую библиотеку только для armv7 и arm64.

Вы пытаетесь запустить тестовое приложение в симуляторе? Попробуйте перейти на работу на устройстве, что должно привести к ошибке архитектуры. Для запуска на симуляторе вам необходимо скомпилировать бинарные файлы для вашей статической библиотеки (обычно i386 и/или x86_64).

Смежные вопросы