有谁知道为什么当我尝试编译以下代码时出现链接器错误:
extern void * _CTServerConnectionCreate(CFAllocatorRef, int (*)(void *, CFStringRef, CFDictionaryRef, void *), int *);
int callback(void *connection, CFStringRef string, CFDictionaryRef dictionary, void *data)
{
return 0;
}
%hook UIKeyboard
-(id)hitTest:(CGPoint)test withEvent:(id)event
{
int x = 0;
_CTServerConnectionCreate(kCFAllocatorDefault, callback, &x);
return %orig;
}
%end
使输出为:
架构armv6的未定义符号:
“ CTServerConnectionCreate(_CFAllocator const *,int()(void,__CFString const *,__CFDictionary const *,void *),int *)”,引用自:
Tweak.xm.o中的$ _ungrouped $ UIKeyboard $ hitTest $ withEvent $(UIKeyboard *,objc_selector *,CGPoint,objc_object *)
ld:找不到架构armv6的符号
collect2:ld返回1退出状态
一些注意事项:
我用-framework CoreTelephony链接到CoreTelephony
我从这里使用代码Core Telephony Example
我在iOS 4.x和iOS 5.x上都尝试过
我使用nm来确保函数调用在二进制文件内
是的,我正在越狱的设备上。
谢谢 ;)
最佳答案
只需在XCode中包含CoreTelephony.framework。应该管用!
关于objective-c - 链接到CoreTelephony框架(iOS),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7311490/