zoukankan      html  css  js  c++  java
  • (iOS)私有API的使用(原创)

    最近在做企业级程序,需要搞设备的udid等信息,但是ios7把udid私有化了,不公开使用。所以研究了一下ios的私有api。

    调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教程哈,我就在此说一下如何调用ios的私有api吧。

    首先要使用class-dump 和dumpFrameworks.pl 工具 将ios的framework导出来。

    以下是工具的下载地址:

    class-dump下载地址http://www.codethecode.com/projects/class-dump/

    DumpFrameworks.pl原来的下载地址不能用了,我在github上的别人的越狱程序里面找到的。

    下载地址:https://github.com/shuhongwu/HackSpringDemo/blob/master/DumpFrameworks.pl

    将下载好的 class-dump 放入usr/local/bin 下. 

       如果 ‘/usr/local/bin’ 不知道在哪里,可以在terminal 下输入 ‘open -a Finder /usr/local/bin’ 以便打开目录.

    这个bin文件夹  就是所有命令行的可执行文件所在地,并不一定是这个目录,要看各自的系统。 

    因为dumpFrameworks.pl中对ios库的版本路径可能不一定正确了,所以要自己手动改正。

    用terminal直接执行dumpFrameworks.pl就可以了。

    会将所有到处的头文件,放到user/Headers文件夹下。

    将想用的头文件,组成xxx.framework/Headers的样式。导入工程。

    但是bulidsetting 设置framework的search path 时要设置真实的私有库路径,因为我们要用它的可执行文件,只有头文件是不行的。

    例如:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/PrivateFrameworks

    这样就可以调用ios的私有库了

    成功用他的私有库  调取了 机器的udid。

    -----------------2014/02/23----------------更新

    网友对我提问,我就又写了一个demo,结果udid  读出来是null。最后在stackoverflow上查到是苹果做过处理了,据说是验证机制,系统和越狱用户可以实现这个方法,其他得不到结果,目前还不知道通过其他方式获取。如果有知道的看到了能回复一下,万分感谢。

    ---------------demo------------------------------

    https://github.com/hikoming/TestPrivate

     

     

  • 相关阅读:
    Thread.Join
    WPF几个基础概念的浅显理解
    Vue v-bind指令
    Vue设置路由跳转的两种方法: <router-link :to="..."> 和router.push(...)
    前端上传视频、图片、文件等大文件 组件Plupload使用指南
    vue如何获取并操作DOM元素
    css中border-sizing属性详解和应用
    vue使用axios发送post请求时的坑及解决原理
    vue中的js引入图片,使用require相关问题
    vue 动态添加body背景图片
  • 原文地址:https://www.cnblogs.com/hikoming/p/ios_privateFrameworks.html
Copyright © 2011-2022 走看看