据我了解,iPhone SDK中没有公共API可用于查找用户的手机号码。
我们可以使用4.0 SDK中添加的核心电话框架找到iPhone用户的手机号码吗?
答案 0 :(得分:7)
是的,你可以,但这很棘手。它涉及使用 iOS私有API,这将决定Apple拒绝您的应用,以防您想将其发布到App Store。
这就是我的所作所为:
在命令行中转到此文件夹: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/CoreTelephony.framework 并执行以下命令:
class-dump CoreTelephony> CoreTelephony.h
这将在当前目录中创建一个头文件。移动它 文件在所需目录中。
在CoreTelephony.h文件的末尾添加以下内容:
extern NSString *CTSettingCopyMyPhoneNumber();
如果您有链接错误,请使用以下链接标记 项目目标的构建设置:
-force_flat_namespace
-undefined suppress
(Xcode 4:点击项目目标 - > gt;构建设置选项卡 - >链接 - >双击值部分 其他链接器标志属性 - > + - >在上面添加标志 - >完成
答案 1 :(得分:3)
不,CoreTelephony框架提供了有关运营商的一些基本信息以及有关呼叫的有限信息,而不是其他信息。
有限的信息包括当前活动呼叫的数量,呼叫ID(不是移动电话号码,只是操作系统用来跟踪特定呼叫的唯一ID)和呼叫状态,例如是否呼叫暂停与否。
CallTelephony的主要功能是用于检查运营商是否允许通过3G进行VoIP的API。
答案 2 :(得分:0)
如果你想从通话记录中获取手机号码,那么看到这个链接可能会有所帮助。但我不确定使用这个苹果后会启用你的应用程序。 call details