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获取自己的号码? 的相关文章

  • 滑动删除不显示删除按钮

    我肯定在这里遗漏了一些东西 这应该没那么难 我正在尝试在 iPad 上的 UITableView 中的项目列表上实现基本的滑动删除功能 一切似乎都正常 除了当单元格向左滑动时没有删除按钮 只有空白区域 以下是我在适当功能中的内容 BOOL
  • 如何从另一个类调用@selector方法

    是否可以从另一个类调用 selector方法 例如 我创建一个方法 bannerTapped 并从 myViewController m 类调用它 myviewcontroller m anotherClass ac anotherClas
  • iOS 7 以编程方式按应用程序 VPN

    我正在开发一个 iOS 7 应用程序 我想知道 每应用程序 VPN 功能是否是 手动 激活的 如位置服务 您可以选择哪个应用程序可以或不可以 或者我可以设置它通过应用程序内的代码 环顾网络 我发现有关它的信息很少 苹果的公告也没有明确说明
  • 如何从屏幕顶部为表视图控制器显示 UISearchBar

    我希望复制 Facebook Messenger 应用程序显示 UISearchBar 的方式 当您点击导航栏中的 leftBarButtonItem 时 UISearchBar 从屏幕顶部向下显示 动画 当您取消时 它只是从其起源处向上消
  • UISearchBar 与状态栏动画过渡 bug ios7

    我对 UISearchBar 动画有疑问 当状态栏打开时 动画有问题 否则没关系 我以编程方式创建了表格视图和搜索栏 uisearchbar 位于表视图的标题视图中 保持这种状态很重要 我知道当你使用故事板时它工作正常 我创建了一个非常基本
  • UILabel - 已弃用方法“adjustsLetterSpacingToFitWidth”的替代方法

    因此 在我的代码中 我正在检查我的字符是否适合我的标签 并有以下行 return self adjustsLetterSpacingToFitWidth 这被放置在一个实现中UILabel 有人能告诉我确切的替代方案是什么吗 文档说 使用N
  • 我如何解密签名并添加到目标 c 中的 YouTube 提取 URL?

    我正在尝试在我的应用程序中播放 YouTube 视频 一切正常 但是当我尝试观看包含 YouTube 内容的视频时 它失败 我研究发现有人认为你应该加密和解密签名并将其添加到 URL 中 我不知道该怎么做decrypt signature
  • Xcode 7 GM 缺少 iOS 7 模拟器

    我已将 Xcode 7 beta 版本升级到 Xcode 7 GM 但缺少 iOS 7 1 模拟器 我仍然有 Xcode 6 并且可以在那里使用 7 1 模拟器 我试着看一下Preferences gt Downloads但只有 8 x 模
  • 如何用动画消除一堆模态视图控制器而不在屏幕上闪烁顶部和底部之间任何呈现的 VC?

    更新 通过下面的 屏幕截图 方法修复 这可行 但是有更优雅的方法吗 我将如何消除一堆带有动画的模态视图控制器 而不在屏幕上闪烁顶部和底部之间任何呈现的 VC 尝试用动画来做到这一点是行不通的 请参阅下面的代码和描述我的问题的内嵌注释 您可以
  • 从 Storyboard/xib 文件修改 UIImage 渲染模式

    是否可以修改一个UIImage s renderingMode来自故事板或 xib 编辑器 目标是申请tintColor对特定的UIImageView object 您可以在不设置图像渲染模式 xib文件 但是在一个 xcassets图书馆
  • UIButton 自定义边框中的 Tintcolor

    我为圆形自定义边框创建了 UIButton 的子类 void drawRect CGRect rect self layer setCornerRadius CORNER RADIUS self layer setMasksToBounds
  • AFNetworking 可以处理请求队列吗?

    我在 iOS 6 上的示例 需要 按顺序 向服务器发送 10 个 Multi Part 请求 所以请求形成一个队列 应显示进展情况 如果一个请求失败 则所有后续请求都会失败 请求队列应该是可取消的 AFNetworking 可以帮我解决这个
  • iOS topLayoutGuide 使用子视图控制器 iOS 7 和 iOS 8 之间的差异

    基本上我正在尝试解决与此相同的问题question https stackoverflow com questions 19140530 toplayoutguide in child view controller正在问 但是 当我在 i
  • videoMinFrameDuration 已弃用

    当我将 Xcode 从 4 6 更新到 5 1 时 ios7 中不推荐使用 videoMinnFrameDuration void setFrameRate NSInteger frameRate frameRate frameRate i
  • IOS7 多点连接使用广告商的发现信息创建自定义附近浏览器列表

    我在用着多点连接框架 https developer apple com library ios documentation MultipeerConnectivity Reference MultipeerConnectivityFram
  • UIButton 未出现在 iPhone 5S 上

    总的来说 我对 iOS 开发和开发还很陌生 我一直在开发时间 记录保存应用程序 但遇到了一个奇怪的问题 在我的一个视图控制器上 我有一个 UITableView 每个单元格都是一个按钮 可通往不同的视图控制器 在第一个单元格上 用户应该能够
  • AFNetworking 2.0 可达性不起作用

    我在使 AFNetworking Reachability 模块正常工作时遇到一些问题 我已经使用 ReachabilityStatusChangeBlock 设置了 AFHTTPRequestOperationManager 但它从未被调
  • 动画 UICollectionView 单元格大小更改并重新定位周围单元格

    Goal 以动画方式改变单元格的高度并重新定位周围的单元格 设想 集合视图中的某些单元格会加载远程图像 最初 这些单元格的大小是静态的 并显示活动指示器 加载图像后 会将其添加到其单元格中 并且更改单元格的高度以适合照片 Notes 我正在
  • 水平分隔符导航栏 IOS 7

    我已经包含了对导航栏 navigationController 的需求 其与栏视图控制器的背景色调相同 现在我有一个问题 在导航栏和视图之间我有一条水平线将它们分开 就像你一样从图片中可以看到 你能告诉我如何删除这条水平黑色线并使其更加一致
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut

随机推荐

  • 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