ios - GLONASS 数据和越狱的 iOS

标签 ios gps cllocationmanager jailbreak

在越狱设备上的 iOS 上是否有编程方式访问 GLONASS 卫星信号和位置数据?也就是说,是否可以在越狱设备上进行私有(private)通话,返回这些数据? (就我所尝试的而言,我没有越狱设备,所以我还不能尝试任何东西,但我很好奇那里有什么可能。谢谢。)

最佳答案

即使您的设备未越狱,您仍然可以查看越狱设备的可用功能……您只是还不能完全测试它。

在你的开发 Mac 上,你有完整的框架,公共(public)的和私有(private)的,你可以使用像 class-dump 这样的东西。 (或 class-dump-z)检查它们。

下载类转储,然后在您的 Mac 上,您可以使用这样的脚本(将所有 header 转储到/Users/Shared/Headers/下的文件夹):

#!/bin/bash
cd /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/;

for FRAMEWORKS in Frameworks PrivateFrameworks; do
 frameworklib=./System/Library/"${FRAMEWORKS}"
 for frameworkpath in "${frameworklib}"/*.framework; do
   frameworkdir="$(basename "${frameworkpath}")"
   frameworkbin="${frameworkdir%.*}"
   if [ -f "${frameworkpath}/${frameworkbin}" ]; then
     echo "Framework: ${frameworkbin}"
     mkdir -p /Users/Shared/Headers/5.0/${frameworkbin}
     class-dump -H -o "/Users/Shared/Headers/5.0/${frameworkbin}" "${frameworkpath}/${frameworkbin}"
   fi
 done
done

然后,您将看到 header ,这些 header 不仅显示公开记录的 API,还显示私有(private) API。完全私有(private)的框架和公共(public)框架的私有(private)部分。

然后,我将转到此脚本转储 .h 文件的根文件夹,然后开始 grepping:

> find . -name '*.h' | xargs grep -i GLONASS

遗憾的是,该术语 (GLONASS) 没有出现在 5.0 header 中,但听起来您了解这个问题领域,您可能会找到一些更好的术语来搜索。

不幸的是,标题只包括方法原型(prototype)和数据定义。没有文档。因此,例如,在有 int 参数的地方,您可能需要猜测它们的含义。

但是,这就是发现隐藏设备功能的反复试验的本质:)

注意:您当然可以在您自己的非越狱手机上测试一些私有(private)API,在通过上述过程发现它们之后。但是,如果设备未越狱、应用程序脱离其沙箱、或者可能具有根权限或其他权利,其他 API 将无法工作。

关于ios - GLONASS 数据和越狱的 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11529934/

相关文章:

ios - UICollectionView 将单元​​格存储在数组中以便快速加载

android - 对 lon\lat 点列表进行排序,从最近的开始

google-maps - 如何使用 Maps API 跟踪多辆车辆

ios - 如何使用 startMonitoringSignificantLocationChanges 检测位置变化

iphone - 如何从一个方法返回多个值

objective-c - "unrecognized selector"尝试监听 UIApplicationDidReceiveMemoryWarningNotification 时

ios - 允许用户取消登录尝试并手动重试而不破坏 Observables

ios - Swift 3.0 允许权限警报不间断

ios - 如何避免将 REVERSED_CLIENT_ID 硬编码到 iOS Info.plist 中以进行开发/生产 Google 登录?

android - 谷歌地图未在手机上显示但可在模拟器上使用