iOS 7:如何通过私有API获取自己的号码?

2023-12-29

旧方法不再有效:

// way 1

void *lib = dlopen("/Symbols/System/Library/Framework/CoreTelephony.framework/CoreTelephony", RTLD_LAZY);
NSString* (*getPhoneNumber)() = dlsym(lib, "CTSettingCopyMyPhoneNumber");

if (getPhoneNumber == nil) {
    NSLog(@"getPhoneNumber is nil");
    return nil;
}
NSString* ownPhoneNumber = getPhoneNumber();

// way 2

extern NSString* CTSettingCopyMyPhoneNumber();
NSString *phone = CTSettingCopyMyPhoneNumber();

相关问题:

iOS 可以检测设备的电话号码吗? https://stackoverflow.com/questions/13460804/is-it-possible-to-detect-a-phone-number-of-the-device-in-ios

[UPDATE]

提供的方法适用于不带 JB 的 iOS 6.1.4 和带 JB 的 iOS 7.1.2

感谢用户creker https://stackoverflow.com/users/2363866/creker提示!

要获取号码,您必须使用以下方式:

1. Code

-(NSString*) getMyNumber {
    NSLog(@"Open CoreTelephony");
    void *lib = dlopen("/Symbols/System/Library/Framework/CoreTelephony.framework/CoreTelephony",RTLD_LAZY);
    NSLog(@"Get CTSettingCopyMyPhoneNumber from CoreTelephony");
    NSString* (*pCTSettingCopyMyPhoneNumber)() = dlsym(lib, "CTSettingCopyMyPhoneNumber");
    NSLog(@"Get CTSettingCopyMyPhoneNumber from CoreTelephony");

    if (pCTSettingCopyMyPhoneNumber == nil) {
        NSLog(@"pCTSettingCopyMyPhoneNumber is nil");
        return nil;
    }
    NSString* ownPhoneNumber = pCTSettingCopyMyPhoneNumber();
    dlclose(lib);
    return ownPhoneNumber;
}

2. Build application without signing: enter image description here

3.创建包含以下内容的 xml 文件 (entitlements.xml):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>com.apple.coretelephony.Calls.allow</key>
        <true/>
        <key>com.apple.coretelephony.Identity.get</key>
        <true/>
    </dict>
</plist>

Where:

com.apple.coretelephony.Calls.allow— 用于通话

com.apple.coretelephony.Identity.get— 用于获取自己的号码

4.使用 entitlements.xml 唱歌应用程序 将文件复制到一个文件夹中:

./FolderForRunSinging/
    YourApp.app
    entitlements.xml

权利.xml- 创建的XML

你的应用程序.app- 从 XCode 文件复制的应用程序的二进制文件 要查找二进制文件的位置,可以使用命令:

$ls -la ~/Library/Developer/Xcode/DerivedData/ | grep YourApp

路径应该是这样的:

/Users/username/Library/Developer/Xcode/DerivedData/YourApp-cktasembftvbmqaaiiunvljdwocs/Build/Products/Debug-iphoneos/YourApp.app

运行唱歌命令:

$codesign --sign='iPhone Developer: FirstName  SecondName (XXXXXXXX)’
--entitlements entitlements.xml YourApp.app

'iPhone Developer: FirstName SecondName (XXXXXXXX)' - 钥匙串中证书的名称

5.复制申请表你的应用程序.app在您的设备上使用 ssh 访问文件夹

/Applications

6.重启跳板(在设备上运行):

$su mobile -c uicache 1>/dev/null 2>&1

工作样本可以在github https://github.com/0x8BADFOOD/iOS7-makecall-sample

iOS 7.1.2 上的结果 (需要JB!):

iOS 6.1.3 上的结果 (无需 JB 即可工作,无需特殊签名即可构建并运行)


为了使用此 API,您需要使用权利签署您的应用程序com.apple.coretelephony.Identity.get布尔值设置为 true。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 7:如何通过私有API获取自己的号码? 的相关文章

  • Android 手机号码验证

    如何检查电话号码是否有效 长度最大为13 包括字符 在前 我怎么做 我试过这个 String regexStr 0 9 String number entered number getText toString if entered num
  • 为什么我的 UITableView 顶部有额外的填充,样式为 UITableViewStyleGrouped 在 iOS7 中

    从 iOS7 开始 我的顶部有额外的空间UITableView有一种风格UITableViewStyleGrouped 这是一个例子 tableview从第一个箭头开始 有35个像素的不明填充 然后绿色标题是UIView由返回viewFor
  • ios7 绘图时出现延迟

    我有一个应用程序 在其中我正在视图上绘制一些草图 到目前为止 在我安装之前它运行良好ios7 我的应用程序使用触摸移动方法来识别运动的变化 但是当我画一条线时 触摸方法被调用 但线不会更新 直到我触摸结束ios7 所以画起来有一点点滞后 它
  • iOS7 无法隐藏状态栏

    我刚刚将我的 iPhone 5 iOS 7 升级到了四个测试版 现在 当我在这台 iPhone 上通过 Xcode 5 运行我的应用程序时 状态栏不会隐藏 尽管它应该隐藏 不工作 UIApplication sharedApplicatio
  • 从堆栈弹出后重新出现 UITableViewCellSeperator 的问题

    我有一个将动态数据加载到表视图中的应用程序 当只有一项时 因此只有一个单元格 为了确保 UITableViewCellSeperator 没有显示这一项 我使用以下代码 CGFloat tableView UITableView table
  • 在后台每 X 分钟执行一次函数不起作用

    我使用此代码每 X 分钟执行一次函数 void executeEveryOneMinute self myFunction dispatch after dispatch time DISPATCH TIME NOW int64 t 60
  • 动画 UICollectionView 单元格大小更改并重新定位周围单元格

    Goal 以动画方式改变单元格的高度并重新定位周围的单元格 设想 集合视图中的某些单元格会加载远程图像 最初 这些单元格的大小是静态的 并显示活动指示器 加载图像后 会将其添加到其单元格中 并且更改单元格的高度以适合照片 Notes 我正在
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • 通过 cocoapods 更新 KIF 框架后,运行以及测试 Xcode 工作区时出现链接器错误

    我有一个 Xcode 工作区 其中我已更新到 KIF 2 0 通过终端和 podfile 中的 pod KIF 进行 pod 更新 之后我按照 中提供的说明配置了工作区https github com kif framework KIF c
  • iOS 7 即席构建安装挂起并显示安装消息

    在构建应用程序时 我添加了有效的架构体系结构作为armv6 armv7 armvs7和体系结构作为标准体系结构 armv7和armv7s 还将构建活动架构仅切换为 否 即席安装挂起 并显示状态安装消息 随附屏幕截图 我已经正确添加了 UDI
  • UIBarButtonItem 按下后更改字体,在外观代理中指定

    我设置了UIBarButtonItem标题字体通过appearanceAppDelegate 中的代理 UIBarButtonItem appearance setTitleTextAttributes NSDictionary dicti
  • 为 CocoaPods 插件设置 Xcode

    我正在尝试设置终端 Xcode 以便正确工作Xcode CocoaPods 插件 https github com kattrali cocoapods xcode plugin 当我从插件运行集成 cocoapods 选项时 我收到一条消
  • SpriteKit 的相机抖动效果

    有谁知道一些开箱即用的库可能会提供相机抖动等效果SKNode 如果没有 是否有一种简单的方法可以使用动作来实现相机抖动 Thanks 我发现了一种使用 SKAction 的优雅方法 可以摇动你的节点 例如 水平摇动 void shake N
  • 转发 UIAlertView 的可变参数

    我正在尝试设置一个非常简单的UIAlertView带有文本编辑 确定和取消按钮 我想根据文本编辑的内容禁用确定按钮 为了能够保留委托 以便他不会在警报视图之前消失 从而在用户对警报视图执行某些操作时立即导致崩溃 我对其进行了子类化 现在 我
  • 来自curl的NSUrlRequest用于条纹

    我需要使用以下说明发出 http post 请求 curl https api stripe com v1 tokens u sk test BQokikJOvBiI2HlWgH4olfQ2 d bank account country U
  • 嵌入式 Youtube:如何在 iOS 7 ipad 上获得高品质

    我在网页上嵌入了 YouTube 视频 在桌面上它运行良好 然而 在 ipad 运行 iOS7 上 视频质量相当差 可能是 480p 在 iframe 中 它看起来不错 但是当您将视频全屏显示时 它就非常明显了 我尝试过使用hd 1 vq
  • iOS 7 故事板本地化与属性标签

    我正在使用 ibtool 从我的所有语言的基本情节提要中生成字符串文件 出于某种原因 ibtool 没有提取UILabel风格为 attributed 我没有这些标签的键 值对 有人知道为什么吗 我最终得出的结论是 使用 ibtool 无法
  • 在 iOS 6 中隐藏 TabBar

    我想隐藏我的 TabBariOS 6 当我编写下面给出的代码时 它可以在iOS 7但它显示黑线iOS 6 self tabBarController tabBar hidden YES 这是快照iOS 6 尝试使用下面的代码也许这会帮助你
  • NSMutableRLEArray objectAtIndex: effectiveRange:: 越界

    我尝试将属性分配给最后 3 个字符newClock字符串 即 3 33 23 但是我在构建时遇到错误NSRange NSMutableAttributedString mas NSMutableAttributedString alloc
  • 为什么IOS7电池没电后无法读取NSUserDefaults

    我使用 NSUserDefaults 来存储应用程序 EULA 和 PP 是否已被接受 除其他外 这通常工作正常 我可以启动 退出然后返回到应用程序 它可以很好地读取值 我可以终止该应用程序并重新启动 读取默认值很好 我可以重新启动手机 然

随机推荐

  • C 中的 String.indexOf 函数

    是否有 C 库函数可以返回字符串中字符的索引 到目前为止 我发现的只是像 strstr 这样的函数 它将返回找到的 char 而不是它在原始字符串中的位置 strstr返回指向找到的字符的指针 因此您可以使用指针算术 注意 此代码未测试其编
  • 找不到使用 sqlplus 控制台创建的目录

    我使用 SQLPlus 控制台创建了一个目录 但在文件系统上找不到它 这是我使用的命令 SQL gt create directory secfile as opt oracle Directory created 我查看了我的 Oracl
  • ModuleNotFoundError:没有名为“django.utils.six”的模块[重复]

    这个问题在这里已经有答案了 HTTP GET admin 500 0 00 127 0 0 1 51425 回溯 最近一次调用最后一次 文件 C Program Files x86 Microsoft Visual Studio Share
  • 在 UnhandledException 上显示消息对话框

    在我的应用程序中 我想在出现任何未处理的异常时显示消息对话框 但当抛出未处理的异常时 似乎没有出现对话框消息 显示消息弹出窗口是否有效 另外在 MSDN 文档中我没有找到太多相关信息 以下是我正在使用的测试代码 public App thi
  • 如何判断元素是否具有流体宽度[重复]

    这个问题在这里已经有答案了 可能的重复 使用 JavaScript 确定元素是否具有固定宽度或百分比宽度 https stackoverflow com questions 1782566 determine whether element
  • “InMemoryUploadedFile”对象没有属性“encode”

    我正在尝试在 Django 中发送一封带有附件的电子邮件 文件是request FILE file 对象 InMemoryUploadedFile 类型 我通过创建消息EmailMessage 然后附加文件message attach f
  • R 中的数据框和列表有什么区别?

    有什么区别数据框 and list in R 什么时候应该使用哪一个 哪个更容易循环 确切的问题 我必须首先存储 3 个字符串元素 如 a b c 稍后 对于其中的每一个 我都需要附加 3 个元素 例如 对于 a 我必须添加 a1 a2 a
  • 合并两个数据框,其中一列根据条件匹配

    模拟数据 set seed 1 df1 lt data frame country c US UK year c 2000 2003 df2 lt data frame country rep c US UK 10 year rep 200
  • java.lang.RuntimeException:无法实例化活动 ComponentInfo

    我试图运行示例代码 在 android 1 5 模拟器中启动应用程序时 我遇到了这些错误 有人有一些提示吗 来自 LogCat 的错误 01 13 02 28 08 392 ERROR AndroidRuntime 2888 FATAL E
  • Android JUnit 首选项测试

    一个相当正常的场景 Android 应用程序有一个首选项活动 从 ListPreference 中选择一个选项会触发代码来更改该 ListPreference 的摘要文本 即 从颜色 ListPreference 中选择 绿色 将通过以下方
  • 在 Python 3 中运行时更改 stdin / stdout 的编码

    在Python 3中 stdin and stdout是具有编码的 TextIOWrappers 因此会输出普通字符串 而不是字节 我可以更改与环境变量一起使用的编码Python编码 http docs python org py3k us
  • 无法运行已发布的 Blazor WebAssembly 应用程序

    当我在 Visual Studio 调试器中运行该应用程序时 它运行得很好 但如果我将其部署到服务器 我会在浏览器控制台中收到此错误 无法在资源 完整性 属性中找到有效的摘要http example com pwaexperiment ww
  • Azure AD - 检索本地 AD 组公用名

    我有一个应用程序需要根据其本地 AD 通用名称来过滤权限 几点注意事项 Azure AD Connect 正在 OnPrem AD 和 Azure 之间同步数据 我成功地将登录用户的组信息从 Azure Graph API 检索到 Web
  • 在 MySQL 中仅检索固定数量的行

    我正在负载下测试我的数据库设计 我只需要检索固定数量的行 5000 我可以指定 LIMIT 来实现此目的 但是查询似乎会构建所有匹配行的结果集 然后仅返回限制中指定的行数 是这样实施的吗 MySQL 是否可以读取一行 读取另一行 并在检索到
  • 如何让 Flexbox (flex-grow) 在调整大小时考虑内容?

    当两个元素都在使用时 如何让 Flexbox 停止平衡同级元素中的空间flex grow 1 这很难预先解释 因此这里是代码 后面是问题的示例屏幕截图以及所需的行为 Parent display flex flex direction co
  • 如何将 AMI 保存到 S3 存储桶?

    我已使用 Amazon AWS 控制台创建了 AMI EBS AMI 该 AMI 附加了 2 个快照 现在我想将该 AMI 备份到 S3 存储桶 这可能吗 实际上 我需要执行此操作 然后才能将该 AMI 移动到不同区域中的存储桶 并注册该
  • 在 JavaScript 中使用 RegEx 进行拆分

    假设我有一个通用字符串
  • 在关键帧之间剪切视频而不使用 ffmpeg 重新编码整个视频?

    我想在任何特定时间戳的开头剪切视频 并且需要precise 所以最近的关键帧不够好 另外 这些视频相当长 一个小时或更长时间 所以我想避免重新编码如果可能的话 将其全部重新编码 否则仅重新编码总持续时间的最小部分 因此 希望最大限度地利用
  • 反应式存储库在保存新对象时抛出异常

    我在用r2dbc r2dbc h2和实验性的spring boot starter data r2dbc implementation org springframework boot experimental spring boot st
  • iOS 7:如何通过私有API获取自己的号码?

    旧方法不再有效 way 1 void lib dlopen Symbols System Library Framework CoreTelephony framework CoreTelephony RTLD LAZY NSString