Как я ослабляю структуры связи на Xcode 4? - PullRequest
31 голосов
/ 26 июня 2011

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

Если я пытаюсь запустить свой проект на симуляторе iPad 3,2, я получаюследующая ошибка:

dyld: Library not loaded: /System/Library/Frameworks/iAd.framework/iAd
Reason : Image not found

Спасибо!

Ответы [ 2 ]

56 голосов
/ 26 июня 2011

Перейдите в свой проект -> Цели -> Фазы сборки -> Связать двоичные файлы с библиотеками.

Затем измените библиотеку, на которую вы хотите создать слабую ссылку, с «Обязательный» на «Необязательный».

8 голосов
/ 04 февраля 2013

Это не работает сейчас.Пожалуйста, перейдите по ссылке ниже: https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html

Выберите цель, которую вы хотите изменить, и покажите ее фазы сборки.

Разверните фазу сборки Link Binary With Libraries, чтобы просмотреть платформы, в настоящее время связанные сtarget.

Если фреймворк, на который вы хотите создать слабую ссылку, указан на этапе сборки Link Binary With Libraries, выберите его и выберите «Правка»> «Удалить», чтобы удалить его.

Теперь вы можете указатькомпоновщик, который будет использовать слабую компоновку для этой платформы.

Выберите цель, откройте ее информационное окно и нажмите «Построить».

К параметру сборки «Другие флаги компоновщика» добавьте следующий параметр командной строкиспецификация, где находится имя фреймворка, на который вы хотите слабо связать: -weak_framework

Создайте свой продукт.

...