本文介绍iOS SrpintBoard框架的部分私有API,具体包括: 获取ios上当前正在运行的所有App的bundle id(不管当前程序是在前台还是后台都可以) 获取ios上当前前台运行的App的bundle id(不管当前程序是在前台还是后台都可以) 根据ios app的bundle id得到其App名称.图标(不管当前程序是在前台还是后台都可以) 直接通过App 的bundle id来运行该App,无需使用url scheme(仅限当前程序在前台时,假如程序在后台能随便运行其他App,…
使用<iphone SprintBoard部分私有API总结>中提到的api,除了能对app运行次数进行监控以外,还可以实现自己的iphone桌面,并根据app 的使用次数对app图标进行排序,从而将使用最频繁的app排在前面. 看看下面的tab bar,这个可不是iphone自己的桌面噢,是app里面实现的桌面,同时里面的app图标是按照app执行的次数来排序的. 实现这个程序的原理是: (1)每隔一段时间,获取iphone上正在运行的app列表 (2)过一段时间之后,再次获取正在运行的ap…
利用<iphone SprintBoard部分私有API总结>中提到的私有API,可以做很多越狱以前实现不了的事情. 比如,利用一个后台运行的app,监控该iphone上所有app的运行次数及时间.…
一.基本知识 iPhone中的API除了公开的API:Published API外(或者叫文档中记录的API:Documented API),还有两类API:私有API:Private API和未公开的API:UnPublished API(或者叫文档中未记录的API:Undocumented API).其中私有API是指放在PrivateFrameworks框架中的API,未公开的API是指虽然放在Frameworks框架中,但是却没有在苹果的官方文档中有使用说明.代码介绍等记录的API.后两…
iOS私有API扫描工作总结 背景 苹果提供的iOS开发框架分PrivateFramework和Framework,PrivateFramework下的库是绝对不允许在提交的iOS应用中使用的,只允许使用Framework下那些公开的库.除了不能引入私有的库,也不能使用私有的API.如果你做了,结果很明显,你的应用就会被拒掉. 下面是几个被拒的案例: 案例1(来源于网络) Thank you for submitting your update to xxx to the App Store.…
转自:http://blog.csdn.net/cubepeng/article/details/11284173 OS不允许使用ios私有api,使用私有api可以获得意想不到的效果 ,同时使用私有api是一个程序员的技术体现之一.至于怎么通过apple的审核,其实是有些办法的,但是不属于今天讨论的范围.私有api可以通过 dump头文件获得,也可以去github clone一份现成的,但是还是推荐自己去dump.但是我们今天不是讨论,如何使用dump到的api,而是通过一个例子来讨论如何通过…
转自:http://blog.csdn.net/sunyuanyang625/article/details/41440167 获取各类iOS私有api 安装工具class-dump 资源地址http://download.csdn.net/detail/map625/8191343 运行class-dump并编译src项目 编译之后在produce中找到编译好的class-dump将其拷贝到/usr/local/bin下 将xcode下的framwork导出.h文件 例,我导出的是coreTe…
前言 作为iOS开发人员,相信大多数伙伴都对怎么获取iOS的私有API很有兴趣,最近通过查找资料,总结了以下三种方法,希望对你有用. 第一种(class-dump) 不得不说这是一个很棒的工具,安装和使用都很方便. 安装 去nygard/class-dump下载工程,编译之后就会获得class-dump,把它放到 "/usr/bin" 文件夹里,注意,这个地址根据系统的不同有所差别,我的系统是 10.10.5 ,低版本的系统有些是 "/usr/local/bin"…
大约有三种方式 otool -L这个工具可以清晰的列出你链接所有的库 像IO.Kit是不允许使用的 nm -u 这个工具可以清晰的列出你所有链接符号如 C方法 OC方法 检查所有Selecter的字符串 OCClass Selector是放在一个特殊区的 所以你只要用了私有API 苹果都能检测到 如果你真的想使用私有API 用runtime解决 Paste_Image.png API检测工具 https://github.com/nomenas/APIChecker 对于自己写代码时 为了避免使…
最近在做企业级程序,需要搞设备的udid等信息,但是ios7把udid私有化了,不公开使用.所以研究了一下ios的私有api. 调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教程哈,我就在此说一下如何调用ios的私有api吧. 首先要使用class-dump 和dumpFrameworks.pl 工具 将ios的framework导出来. 以下是工具的下载地址: class-dump下载地址http://www.codethecode.com/projects/class…
最近自己在做一个小程序,想实现一个一键设置手机壁纸的功能.但在iOS公开的API里找不到相关的方法,只能从私有API入手. 网上有不少教程,不过都不是很详细.从google和https://stackoverflow.com能找到比较详细的描述. 想要使用私有API首先需要知道相关API的声明,可以知己搜索,也可以使用class-dump自己搞定.下面说下详细过程. 首先下载class-dump.直接放到usr/local/bin文件夹中就可以使用. xcode 8.3.2下私有API路径在 /…
objc/runtime.h 相关 Objecitve-C的重要特性是Runtime(运行时),在Interacting with the Runtime(交互运行)中,运行时函数部分,苹果给出了/usr/lib/libobjc.A.dylib库,这个共享库提供支持动态属性的objective - c语言,通过其接口,可以用于开发将其他语言运行于Objective-C上的中间层(桥接层),库里的函数定义为纯C语言. 例如:class_getName class_getName Returns t…
最近在做企业级程序,需要搞设备的udid等信息,但是ios7把udid私有化了,不公开使用.所以研究了一下ios的私有api.   调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教程哈,我就在此说一下如何调用ios的私有api吧.   首先要使用class-dump 和dumpFrameworks.pl 工具 将ios的framework导出来.   以下是工具的下载地址:   class-dump下载地址http://www.codethecode.com/projec…
最近iOS 审核被拒,说是使用了私有API:com.apple.springboard.lockcomplete 具体内容如下: 发件人 Apple . Performance: Software Requirements Guideline - Performance - Software Requirements Your app uses or references the following non-public APIs: com.apple.springboard.lockcompl…
转自: http://www.jianshu.com/p/07779e293ca7 注:  '根目录' 指的是 private-api-checker 包的目录 iOS-private-api-checker私有API检查详细步骤(涉及到 Python.Flask.sqlite 环境) 1.下载iOS-private-api-checker-master https://github.com/hustcc/iOS-private-api-checker 2.下载已经build好的ios_priv…
无意中发现,有人创建UIButton这样写 UIButton *previousButton = [UIButtonbuttonWithType:101]; 一看原来是私有api UIButton *previousButton = [UIButton buttonWithType:101]; [previousButton setTitle:@"<" forState:UIControlStateNormal]; previousButton.frame = CGRectMak…
喜接新项目往往预示的会出一堆问题.解决问题的同时往往也就是学到更多东西的时候,这也许就是学习到新东西最直接最快速的方法吧! 小编经过努力,新项目终于过测试了,可是被苹果大大给拒了,好苦啊,最近的审核真的是没有谁了.这回被拒是因为项目中存在私有api,下图为被拒信息. 这就坑了啊,这么大一个项目,我如何定位呢? 如果是代码里面运用到私有api,那就简单了,直接command+Shift+F,就可以定位了!prefs:root= 就是原来代码里面的,小编找到后果断删除了! 最麻烦的就是在第三方SDK…
背景:这两天提审了一款新的APP,由于项目中使用了老版本的TZImagePicker中访问了私有API,导致提审失败. 预审经验分享: https://baijiahao.baidu.com/s?id=1559541128542455&wfr=spider&for=pc 目前github中有一款私有API检测工具,帮助检测ipa中,是否使用了私有API. https://github.com/NetEaseGame/iOS-private-api-checker 使用细节 https://…
一,为什么接口站的api要使用版本号? 1,当服务端接口的功能发生改进后, 客户端如果不更新版本,    则服务端返回的功能可能不能使用,    所以在服务端功能升级后,     客户端也要相应的使用新版的服务端接口     2,注意点:不要频繁变更服务端接口站的版本   不管是新增/修改服务端功能,只要app旧版本可以兼容, 则服务端的版本号无需变动,因为这个版本和git的版本控制不一样, 它起的作用是比较客户端的哪些版本和服务端的哪些版本能兼容 只有客户端不能兼容时,才会新增版本号以便区分…
Overview 在前面的文章里有针对 abp 的项目模板进行简化,构建了一个精简的项目模板,在使用过程中,因为我们暴露的 api 需要包含版本信息,我们采取的方式是将 api 的版本号包含在资源的 URI 中.因为 abp 默认的 api 是没有版本的概念的,所以这里为了实现 api 版本化需要针对 abp 项目的 api 路由进行改造,从而满足我们的需求.本篇文章则是实现这一改造过程的演示说明,希望可以对你有所帮助 完整的项目模板如下所示 模板源码地址:https://github.com/…
xcode8支持ios8以下真机测试方法: 1.应用程序-xcode 显示包内容-Contents-Developer-Platforms-iPhoneOS.platform-DeviceSupport 把里边 6.0 6.1 7.0 7.1 的文件夹粘贴到xcode8 对应的文件夹内 2.应用程序-xcode 显示包内容-Contents-Developer-Platforms-iPhoneOS.platform-Developer-SDKs-iPhoneOS.sdk-SDKSettings.…
移植samba到ios平台,最新支持ios8.3 下载https://github.com/kolyvan/kxsmb 开源项目 1  cd samba-4.1.14 2  vi Rakefile 修改  SDK_VERSION=修改为你需要的版本 3.执行rake 命令 4.如果提示错误,可能需要安装autoconf 参考 http://www.cnblogs.com/hurricane2011/articles/2503582.html 5 安装完成以后 生成libs目录  …
ASP.NET Web API 2.1内建支持XML.Json.Bson.form-urlencoded的MiME type,今天重点介绍下Bson.BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式.BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性. BSON主要会实现以下三点目标: 1.更快的遍历速度 对JSON格式来说,太大的JSON结构会导致数据遍历非常慢.在JSON中,要…
silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方的文章属于本人或他人转发,不一定及时同步.原文链接是: http://www.happycxz.com/m/?p=32 重要事项二: 目前本文中提到的API已支持微信小程序录音文件格式:silk v3.mp3. 注:微信小程序开发工具上的录音不论是新接口还是老接口,都是webm/base64格式,虽…
好久没有更新博客,难得有空,记录一下今天写的一个小工具,供有需要的朋友参考. 在移动APP开发中,多版本接口同时存在的情况经常发生,通常接口支持多版本,有以下两种方式: 1.通过不同路径区分不同版本 如: http://www.xxx.com/api/v1/product/detail?id=100 (版本1)http://www.xxx.com/api/v2/product/detail?id=100 (版本2) 这种情况,可以通过建立多个文件的方式实现,优点是结构清晰.实现简单,缺点是大量重…
在实际项目过程中API往往会收到迭代的影响,同时具备多个版本,因此resetful接口的版本话是非常重要的. 其实官方就提供了很好的支持,微软爸爸在nuget提供了Microsoft.AspNetCore.Mvc.Versioning 2.3.0 该包还具有很多其他的功能,具体细节请移步官方的github 废话不多,直接上步骤 Nuget安装 Microsoft.AspNetCore.Mvc.Versioning. 在startup.cs中做如下配置 public void ConfigureS…
HangFire的拓展和使用 看了很多博客,小白第一次写博客. 最近由于之前的任务调度框架总出现问题,因此想寻找一个替代品,之前使用的是Quartz.Net,这个框架方便之处就是支持cron表达式适合复杂日期场景使用,以及秒级任务.但是配置比较复杂,而且管理不方便,自己开发了个web管理页面,不过这个需要额外的单独线程去统一管理工作状态,很容易出现问题. 有考虑过 “FluentScheduler” ,使用简单,但是管理配置也很麻烦,我希望能做到配置简单,管理方便,高性能.最后想到了以前听过的h…
1.这个等于堵死了调试断点.关闭就不能断点调试了. 2.对于敏感的函数名要做一个对称加密处理. 防止二进制文件的静态扫描. 3.对于调用私有函数的方法,可以做一个宏定义包装. #define 你的正常名称  随便一个函数名(切记不能与工程中的函数有重叠).防止运行时动态抓包扫描. 4.在上传二进制包文件时候,将下面的附带信息去掉.…
@class LSApplicationProxy, NSArray, NSDictionary, NSProgress, NSString, NSURL, NSUUID; @interface LSApplicationProxy : LSResourceProxy <NSSecureCoding> { NSArray *_UIBackgroundModes; NSString *_applicationType; NSArray *_audioComponents; unsigned in…
//暴力打开某个APP = .= 如果可以打开.直接打开不解释 +(BOOL)isOpenApp:(NSString*)appIdentifierName { Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace"); NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWo…