CTCallCopyAddress - Неопределенные символы для архитектуры armv7

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

Я следую коду здесь однако я получаю следующую ошибку компилятора:

Undefined symbols for architecture armv7:
"CTCallCopyAddress(void*, CTCall*)", referenced from:
  telephonyEventCallback(__CFNotificationCenter*, void*, __CFString const*, void const*, __CFDictionary const*) in MyCode.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Когда я сталкивался с подобными предупреждениями/ошибками раньше, это было связано с отсутствием библиотек на этапах сборки. Тем не менее, я проверил, что CoreTelephony.framework добавлен. Есть ли у кого-нибудь указания относительно того, где я ошибаюсь?

Спасибо!


person cud_programmer    schedule 11.02.2013    source источник
comment
Какую версию iOS вы используете? Это, кажется, прекрасно доступно, например, на iOS 5.1.   -  person    schedule 11.02.2013
comment
iOS 6.1 — в этом есть смысл. Знаете, что мне пришлось бы изменить/добавить для поддержки iOS 6.0+?   -  person cud_programmer    schedule 11.02.2013
comment
Я не знаю, честно говоря. Используйте nm, чтобы узнать, доступно ли оно на iOS 6.1.   -  person    schedule 11.02.2013


Ответы (1)


Вы используете этот код в коде obj-c или obj-c++? Если это последнее, вам нужно определить его следующим образом extern "C" NSString* CTCallCopyAddress(void*, CTCall*). Я использую этот API на iOS 6, и у меня никогда не было проблем.

person creker    schedule 29.12.2013