Xcode 10 beta: команда компоновщика не удалась с кодом выхода 1 RPSystemBroadcastPickerView [дубликат]

Для типов int используйте:

int myInteger = 1;
String myString = Integer.toString(myInteger);

Для типов Integer используйте:

Integer myIntegerObject = new Integer(1);
String myString = myIntegerObject.toString();
121
задан Bruce Wayne 1 June 2016 в 02:45
поделиться

17 ответов

Похоже, что вы отсутствуете, включая IOBluetooth.framework в своем проекте. Вы можете добавить его по:

-Нажмите на свой проект в левом верхнем углу левой панели (синий значок).

. На средней панели щелкните вкладку «Фазы построения».

-Включить «Связывание двоичных файлов с библиотеками», нажмите кнопку «плюс».

-Закройте IOBluetooth.framework из списка и нажмите Добавить.

enter image description here [/g0]

enter image description here [/g1]

Это позволит убедиться, что определения IOBluetooth.framework найдены компоновщиком , Вы можете видеть, что фреймворк является членом вашей цели, щелкнув фреймворк в левой панели и увидев целевое членство структуры в правой панели (обратите внимание, что я переместил структуру в группе Frameworks для целей организации):

enter image description here [/g2]

95
ответ дан python 16 August 2018 в 05:39
поделиться
  • 1
    Это сработало! Большое спасибо за то, что вы пытаетесь сделать несколько скриншотов! – RisingSun 24 August 2013 в 06:47
  • 2
    То же самое отлично работает для oAuthIOS. Добавьте фреймворк oAuthIOS из папки pods в корневой проект, который вы пытаетесь построить. – prodeveloper 30 October 2014 в 12:51
  • 3
    Я ищу IOBluetooth.framework, но его нет: S – Menno van der Krift 8 October 2015 в 09:37
  • 4
    Это странно, должно быть. – Chris Livdahl 10 October 2015 в 00:06

Я обнаружил, что это также может произойти, если вы перетащите папку с файлами Objective-C в свой проект. Если эта папка кажется синей, я думаю, что она указывает, что она не связана должным образом. Вы можете проверить это (если вы используете контроль версий), потому что всякий раз, когда вы добавляете новые файлы, файл pbxproj должен обновляться ссылками на эти новые файлы. Однако вы можете обнаружить, что после того, как вы добавили папку, которую файл pbxproj не изменил (и, следовательно, есть ошибка связывания). Таким образом, вы получите автоматическое завершение работы, и он найдет классы, которые вы импортировали, но когда это происходит, чтобы фактически создать образ, с которым он не справляется с этим кодом ошибки.

Решение состоит в том, чтобы не добавлять папку, а скорее добавьте файлы. Сделайте это, и вы увидите обновление файла pbxproj, и оно должно исправить эту ошибку.

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

4
ответ дан Aggressor 16 August 2018 в 05:39
поделиться

У меня была такая же ошибка, потому что вместо удаления файла я просто удалял ссылки на него. Поиск файла в Finder и его удаление помогли.

3
ответ дан Alatoo 16 August 2018 в 05:39
поделиться

UPD

Apple требует использовать архитектуру arm64. Не используйте библиотеки x32 в вашем проекте

Итак, ниже ответ неверен!


Старый ответ

Новый Xcode 5.1 устанавливает архитектуру armv7, armv7s и arm64.

И иногда ошибка «сбой сборки» Неопределенные символы для архитектуры x86_64 «» могут быть вызваны этим. Потому что некоторые библиотеки (а не Apple) были скомпилированы для x32 изначально и не поддерживают x64.

Итак, вам нужно изменить «Архитектуры» для вашего целевого проекта, например

NB. Если вы используете Cocoapods - вы должны сделать то же самое для цели «Pods».

enter image description here [/g0]

48
ответ дан Aleksey Potapov 16 August 2018 в 05:39
поделиться
  • 1
    В основном я удалил arm64 thingy из свойства Valid Architectures. Затем, как показано выше, он будет вынужден только посмотреть, что есть в допустимых архитектурах, я думаю! – Randika Vishman 22 April 2014 в 22:52
  • 2
    @ Вишман, привет! Хороший ответ SO , который охватывает разницу между Valid Architectures и Architectures. – Aleksey Potapov 23 April 2014 в 15:33
  • 3
    Исправлены мои связанные ошибки в Xcode 5, когда я пытался запустить проект в iOS 7.1 симуляторе, в iOS 6.x симулятор работал нормально по умолчанию, thx :) – Zsivics Sanel 22 September 2014 в 14:33
  • 4
    @BraveS: Удалив архитектуру arm64, она будет работать на 64-битном устройстве? – Jayprakash Dubey 6 January 2015 в 11:06
  • 5
    @JayprakashDubey привет, я загрузил встроенный appstore без поддержки 64 бит, они отклонили мое приложение. Когда я пытаюсь добавить arm64, я столкнулся с сбоем сборки ошибки «Неопределенные символы для архитектуры x86_64». если я удалю arm64 из архитектуры. и я положил arm64 в действительную архитектуру. Мое приложение одобрено ??? – Balu 18 February 2015 в 13:19

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

Итак, если другие решения (в частности, Chris's и BraveS, которые, как я подозреваю, более вероятны) не подходят вашей проблеме, попробуйте удалить производные данные (выберите: Окно / Проекты / Производные данные -> Удалить) и перестроить.

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

15
ответ дан Ali Beadle 16 August 2018 в 05:39
поделиться

Неопределенные символы для архитектуры x86_64: «_OBJC_CLASS _ $ _ xxx», на которые ссылается: objc-class-ref в yyy.o

Это обычно означает, что вы вызываете «xxx» "(это может быть каркас или класс) из класса" yyy ". Компилятор не может найти «xxx», чтобы произошла эта ошибка.

Вам нужно добавить отсутствующие файлы (в данном случае «xxx»), щелкнув правой кнопкой мыши по папке проекта в окне навигатора и коснитесь «Добавить файлы в» YourProjectName "" вариант.

Всплывающее окно откроет ваши файлы проекта в Finder. Там вы можете увидеть недостающие файлы и просто добавить их в свой проект. Не забудьте проверить флажок «Копировать предметы в случае необходимости». Удачи !!

23
ответ дан Confused 16 August 2018 в 05:39
поделиться

Для меня это произошло после конфликта слиянием.

Я попытался очистить и удалить папку сборки, но ни одна из них не помогла. Эта проблема продолжалась независимо. Затем я повторно связал ссылку, удалив группы, которые были проблематичными и повторно добавлены в проект, и это сработало.

0
ответ дан green0range 16 August 2018 в 05:39
поделиться

Если вы получаете эту ошибку при попытке ссылки на файл C, сначала дважды проверьте имена функций для опечаток. Затем дважды проверьте, что вы не пытаетесь вызвать функцию C из среды C ++ / Objective-C ++ без использования конструкции extern C {}. Я рвал волосы, потому что у меня был класс, который был в файле .mm, который пытался вызвать функции C. Это не работает, потому что в C ++ символы искажены. Фактически вы можете увидеть конкретные символы, созданные с помощью инструмента nm. Terminal на путь к файлам .o и запустите nm -g в файле, который вызывает символ, и тот, который должен иметь этот символ, и вы должны увидеть, совпадают ли они или нет, что может дать ключ к ошибке .

nm -g file.o

Вы можете проверить символы C ++, которые были запятыми:

nm -gC file.o
1
ответ дан james_alvarez 16 August 2018 в 05:39
поделиться

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

1
ответ дан jeffreysuej 16 August 2018 в 05:39
поделиться

Я пробовал практически все, но моя проблема оказалась остатками предыдущей сборки cocoapods. Для меня это было:

  1. rm -Rf Pods; pod install
  2. Удалить исходные данные (окно / проекты ... выберите цель) нажмите кнопку «Удалить»)
  3. Восстановить
3
ответ дан lonesomewhistle 16 August 2018 в 05:39
поделиться

Также может быть #include <windows.h> в .c файле, который вы пытаетесь скомпилировать.

0
ответ дан Lorenzo Andraghetti 16 August 2018 в 05:39
поделиться

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

Исправил его, установив опцию:

Project -> Architecture -> Build Active Architecture Only

на Да

и компиляция и сборка проекта должным образом

0
ответ дан Raphael 16 August 2018 в 05:39
поделиться

В моем случае это была не библиотека, это были некоторые классы ..

Неопределенные символы для архитектуры x86_64: "_OBJC_CLASS _ $ _ ClassNmae", на которые ссылается: objc-class-ref in SomeClassName ".

d: символ не найден для архитектуры x86_64

clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v для просмотра вызова)

Решение У меня было несколько целей в Xcode с несколькими схемами (Production, Dev и т. д.). Некоторые из моих недавно добавленных реализаций (Class.m) отсутствовали в

Xcode-> Targets-> Build Phases-> Compile Sources

Поэтому мне пришлось добавить их вручную.

, тогда я смог бы скомпилировать и успешно выполнить сборку

9
ответ дан Udaya Sri 16 August 2018 в 05:39
поделиться
  • 1
    это решило мою проблему. Я использовал динамическую структуру. Другое дело, что мне не нравится идея добавлять вручную. – toxicsun 2 September 2016 в 08:41

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

Исправление на самом деле довольно простое. Вам просто нужно удалить запись из параметра «Пути поиска в Ракурсе», найденного в разделе TARGETS> Build Settings> Search Paths (убедитесь, что выбрана вкладка «Все»)

Если вы видите другую запись (помимо $ (унаследованной)) для своей основной цели или вашей целевой цели, просто удалите неисправный путь из всех целей и перестройте.

4
ответ дан whyoz 16 August 2018 в 05:39
поделиться

В Xcode 9.0b5 вы можете столкнуться с этим, потому что Xcode 9.0b5 имеет ошибку в нем, где, когда вы добавляете исходный код, он не соблюдает целевые настройки. Вы должны войти и установить для каждого файла вручную следующие слова:

11
ответ дан William Cerniuk 16 August 2018 в 05:39
поделиться

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

Или

~ / Библиотека / Разработчик / Xcode / DerivedData /

9
ответ дан ylgwhyh 16 August 2018 в 05:39
поделиться
  • 1
    Тем, кто задается вопросом, каков фактический путь / команда: это ~/Library/Developer/Xcode/DerivedData/. Через CLI вы можете очистить каталог следующим образом: rm -rf ~/Library/Developer/Xcode/DerivedData/ – Bramus 22 September 2016 в 12:43
0
ответ дан Pranav Gupta 29 October 2018 в 10:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: