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