«нераспознанный селектор отправлен в экземпляр» в статическую библиотеку, несмотря на флаг ObjC - PullRequest
15 голосов
/ 17 мая 2011

Я получаю ошибку во время выполнения в моем приложении:

2011-05-17 09:42:31.124 rxsync[67464:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSMutableURLRequest setHTTPBodyWithFormMultipartValues:fileNames:contentTypes:usingBoundary:]: unrecognized selector sent to instance 0x4e3cd90'

Этот метод, NSMutableURLRequest setHTTPBodyWithFormMultipartValues: fileNames: contentTypes: usingBoundary:], определяется статической библиотекой, которая является частью моего .xcworkspace.

Вот что я проверил:

  1. Статическая библиотека включена в мой Link Binary With Libraries этап.
  2. У меня есть ObjC в других флагах компоновщика (OTHER_LDFLAGS = -ObjC) в моем приложении. (На самом деле, она есть и в моей статической библиотеке, поскольку она основана на том же файле xcconfig.)
  3. Подпись одинакова в моих файлах .h и .m.
  4. Статическая библиотека определенно была перестроена.
  5. Я подтвердил, что объект, на который я отправляю сообщение, действителен.

Какие возможности я упускаю?

Я использую Xcode 4.0.2. Это цель для iPhone.

1 Ответ

29 голосов
/ 17 мая 2011

Вам также необходимо добавить -all_load к другим флагам компоновщика цели, которая использует статическую библиотеку.

...