到2016年10月,4年的iOS开发了,一边一边学习Java后台开发
能力说明:
了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明reason: 'cameraCaptureMode 1 not available because mediaTypes does contain public.movie 在使用 UIImagePickerController 做视频录制开发时遇到的这个错误:reason: 'cameraCaptureMode 1 not available because
因为 ObjC 的 runtime 只能在 Mac OS 下才能编译,所以文章中的代码都是在 Mac OS,也就是 x86_64 架构下运行的,对于在 arm64 中运行的代码会特别说明。 写在前面 文章会介绍上古时代 Objective-C 哈希表,也就是 NXHashTable : NXHashTable 的实现 NXHashTable 的性
因为 ObjC 的 runtime 只能在 Mac OS 下才能编译,所以文章中的代码都是在 Mac OS,也就是 x86_64 架构下运行的,对于在 arm64 中运行的代码会特别说明。 在上一篇分析 isa 的文章从 NSObject 的初始化了解 isa中曾经说到过实例方法被调用时,会通过其持有 isa 指针寻找对应的类,然后在其中的 class_d
iOS网络缓存扫盲篇 --使用两行代码就能完成80%的缓存需求 下篇预告:使用80%的代码来完成剩下的20%的缓存需求 。敬请 star (右上角)持续关注。 目录 当我们在谈论缓存的时候,我们在谈论什么? GET网络请求缓存 80%的缓存需求:两行代码就可满足 控制缓存的有效性 文件缓存:借助ETag或Last-Modified判断文件缓存是否有效
因为 ObjC 的 runtime 只能在 Mac OS 下才能编译,所以文章中的代码都是在 Mac OS,也就是 x86_64 架构下运行的,对于在 arm64 中运行的代码会特别说明。 写在前面 这篇文章可能是对 Objective-C 源代码解析系列文章中最短的一篇了,在 Objective-C 中,我们总是会同时想到 load、initialize 这两
iOS本地数据存取,看这里就够了 应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒 应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer) 应用沙盒的文件系统目录 应用沙盒结构分析 应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件 D
国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 早前评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. 不仅仅是选中的十大算法,其实参加评
趁着放假,重新配置了一下自己的Mac的编程环境,毕竟新年新气象嘛,主要是iTerm2、Zsh、vim 优化、Consolas字体、NoisyTyper,这些的相关配置。工欲利其事必先利其器,好的编码环境可以提升我们的打码的幸福感。好的编码环境包括 美观(视觉),声音(听觉),流畅度(触觉),工作环境(嗅觉,味觉)等多个方面。后面有几张配置后的图片感受一下,主要看字体和配
Data Scientist Orange Orange 是一个基于组件的数据挖掘和机器学习软件套装,它的功能即友好,又很强大,快速而又多功能的可视化编程前端,以便浏览数据分析和可视化,基绑定了 Python以进行脚本开发。它包含了完整的一系列的组件以进行数据预处理,并提供了数据帐目,过渡,建模,模式评估和勘探的功能。其由C++ 和 Python开发,它的图形库
NSString *getBundleName(){ NSDictionary *dir = [[NSBundle mainBundle] infoDictionary]; return [dir objectForKey:@"CFBundleName"]; } int main(int argc, const char * argv[]) {
#include <mach/host_info.h> #include <mach/mach_host.h> #include <mach/shared_region.h> #include <mach/mach.h> #include <mach-o/dyld.h> #include <st
之前写过runtime的一些东西,这次通过runtime获取一些苹果官方不想让你拿到的东西,比如,状态栏内部的控件属性。本文将通过runtime带你一步步拿到状态栏中显示网络状态的控件,然后通过监测该控件的属性来获取当前精确网络状态,比如2G/3G/4G/WIFI。 首先,我们需要拿到状态栏,然后通过runtime去探讨状态栏内部的组成结构。 1、导入运行时
keychain 存储在 system/Device/var/keychains keychain里面的信息是跟随设备的, 存储在Device/var/keychains/路径下是一个数据库文件, 里面的内容已经被加密过了,只有手动删除,或者系统还原才会被清理掉, 越狱环境下可以自己写sql语句清除, 另外登录信息建议写在default里面,写在keychain里面对用户来说
</pre><pre code_snippet_id="149647" snippet_file_name="blog_20140109_1_9522940" name="code" class="objc" style="word-break: break-all; word-wrap: break-word; line-height: 24px; font-size:
在做项目的时候我们需要将拍摄的照片做上标记防止图片被他人盗用,所以这就需要在照片的上面加上水印,以表示此照片的独一无二。 加水印不是要在上面添加上几个Label,而是我们要把字画到图片上成为一个整体。 提供一个方法 此方法只需要传递一个要加水印的图片和水印的内容就达到效果 1 -(UIImage *)watermarkImage:(UIImage *)img wit
最近用到一些代码需要在多平台编译,一套代码需要在不同的机器不同平台上,或者相同机器的不同路径上使用,这种情况下,如果没有协同工具进行代码管理,用不了多久,每套代码都会混乱得不堪入目。 由于项目不想开源,而公司的服务器没有公网IP,因此将代码放到Github上或者放到公司服务器上都不太能满足我的需求,想来想去,手头上有一台越狱过的iphone,便试试能不能把它作为远程仓库,结果证明想
图3 使用itools查看fstab文件大小 3) 符号链接检测 IOS的磁盘被划分为两个分区:容量较小的是系统分区,另一个是比较大的数据分区。IOS预装的APP会安装在系统分区下的/Applications文件夹下,但是系统分区在设备升级时会被覆盖且容量太小,所以一些越狱工具会重定向这个目录到一个大的用户分区。通常情况下/Applications文件夹会被符号链接到/va
pist 最为持久化保存的一种方式!本身plist文件是xml ,对于小数量数据可以采用plis 的方法!这样更高效!废话不多说了!进入正题吧!如果是一个新手用plist的话一定会遇到各种问题!我当时就是这样走过来的!也是做个总结吧! 功能介绍:保存学生的基本信息: 一. 在故事板上拖拽几个控件吧如下图用来输入学生的信息 并在ViewCo
七、iOS多线程的初步研究()-- dispatch对象 谈起iOS的dispatch(正式称谓是Grand Central Dispatch或GCD),不得不说这又是iOS(包括MacOSX)平台的创新,优缺点这里不讨论,只有当你使用时才能真正体会到。我们说dispatch函数的主要目的是实现多任务并发代码,那么要理解dispatch函数,先来了解dispatch对象
iOS多线程的初步研究(四)-- NSTimer 理解run loop后,才能彻底理解NSTimer的实现原理,也就是说NSTimer实际上依赖run loop实现的。 先看看NSTimer的两个常用方法: + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget
最近搞一款塔防游戏,提到塔防,自然就想到了A星寻路。的确,它是一种高效的寻路算法。但当很多怪物同时在调用A星算法来寻找一条最近的路径来到达目的地时,我发现会很卡。我都不能接受这个卡屏,更何况是玩家呢。所有我一直都在努力去优化A星算法。虽然有所改善,但卡的问题还是存在。实在没辙了,我想到了队列线程。之前都没接触过这个东东,还好在网上找到很详细的线程介绍。当然,我只是用到了其中的一点点。分享给
About the Speaker: Conrad Kramer 2010 年,Conrad Kramer 开发了他的第一个越狱 App Graviboard,从那以后便开始了他的 iOS 开发生涯。他做一些常规的 iOS 开发,同时也在 Cocoa 社区的多个开源项目上活跃,比如:AFOAuth2Client 和 WFNotificationCenter。 Co
一、外挂功能: 类似于模拟按键,该类型外挂主要用于通过图像识别,利用luac脚本对图像进行识别。而后再通过私有api实现触屏操作的功能。 二、外挂特征 外挂安装后,会有下面三个主要程序,touchsprite,tsevent,tsdeamon. 其中,touchsprite 为gui的界面程序,其主要功能为提供交互界面由用户选择加载的脚本。(脚本保存在/Us
1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inch
iOS证书学习推荐博客代码签名探析,本文重点在于介绍ios8.1.3系统ipa包重签名(如企业证书)无法安装的问题。苹果在iOS8.1.3系统以后加强了对ipa安装包签名的验证,主要区别在于ipa唯一标识在原有Bundle Identifier的基础上增加了证书ID,也就说安装包和手机上已安装APP的Bundle Identifier即使一致,如果两者签名的证书ID不
参考:http://jingyan.baidu.com/article/a3aad71aa5fbfbb1fb0096b1.html 1、打包ipa,plist 工具:xcode6 证书:企业级开发证书 1.1)xcode6开始企业级打包时不在生成plist,需要自己编写:模版见下: <?xml version="1.0" encoding="
摘要:通过苹果Safari浏览器获取iPhone UDID步骤详解:苹果公司允许开发者通过IOS设备和Web服务器之间的某个操作,来获得IOS设备的UDID(包括其他的一些参数)。 通过苹果Safari浏览器获取iPhone UDID步骤详解: 一、获得UDID通过移动Safari概述: 苹果公司允许开发者通过IOS设备和Web服务器之间的某个操
这是一篇以 iOS 开发人员的视角写给广大iOS 程序猿的 PHP 入门指南.在这篇文章里我努力去发掘 objectiv-c 与 php 之间的共性,来帮助有一定 iOS 开发经验的攻城狮来快速上手一门后台开发语言.后台开发语言,就是以"数据接口"的形式出现在我们的开发文档的那个东西!掌握PHP,无论对自己目前的iOS开发工作还是以后个人职场生涯的长久发展,都会大有裨益!最重要的是,P
限于iOS AppStore的审核机制,一些新的功能的添加或者bug的修复,想做些节日专属的活动等,几乎都是不太可能的.从已有的经验来看,也是有了一些比较常用的解决方案.本文先是会简单说明对比大部分方案,然后会注重阐述基于JSPatch的在线更新机制的设计和实现.对于任何一家有一定用户基础的iOS应用来说,在线更新技术所产生的直接和间接价值都将远远超过100W.理解,并掌握它;实在没有
Kiwi,BDD行为测试框架–iOS攻城狮进阶必备技能 http://www.ios122.com/ 简介 Kiwi 是一个适用于iOS开发的行为驱动测试框架,旨在提供一个足够简单易用的BDD库. 项目主页: https://github.com/kiwi-bdd/Kiwi 示例下载: https://github.com/ios122/ios1
JSPatch 可以让你用 JavaScript 书写原生 iOS APP。只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug。 简介 项目主页: https://github.com/bang590/JSPatch 示例下载: ht
2011年6月的编程语言排行榜Lua语言一军突起,一举进入前十名。这与一年前苹果决定在iOS系统上使用Lua语言密不可分。但是,你了解如何用Lua语言在iOS上开发应用吗?将向各位介绍Lua语言的iOS应用开发框架——Wax,其中在iOS平台上无比火爆的《愤怒的小鸟》就是由Lua语言用Wax开发的。全文共分两部分,第一部分将带您深入探讨Wax具有的一些好处,同时演示把Lua与Xco
一:lua使用步骤:(可参考http://www.duote.com/tech/ios/19919_2.html#contentbody)用Xcode创建项目 我们先创建一个新项目 通过Finder浏览到你保存该项目的文件夹。创建三个新的文件夹:wax、scripts和Classes。你的文件夹看起来应该像这样:通过Finder浏览到你保存该项目的文件夹 设置Wax(第一部分,处理文
Quick-cocos2d-x增加了编译及加密源代码的功能(具体可参考这篇文章)。以此功能为基础,我实现了一个版本更新模块,解决了自己项目中的版本更新需求。现抛砖引玉,与大家分享。 从基本原理和方案讲起比较枯燥,直接从介绍具体用法开始吧。 要能够在线更新文件,一个服务器是必须的。我目前实现的是用HTTP协议取文件,只需要有一个基本的web服务器,能通过类似http://&
基于Cocos2d-x+Lua的技术架构的游戏的更新,只更新脚本即可。Lua中可以实现对于C++类的继承,更新逻辑还是比较容易的。 App有两个路子:一个是基于PhoneGap或者React Native的混合开发(天猫好像已经迁移到了React Native上);一种是使用JSPatch来为程序打补丁。不过就功能来看,还是React Native要强大一点,毕竟定位不一样。
本文调研Xcode的版本是 7.1,基本是探索了菜单的每一个按钮。虽然从xcode4一直用到了xcode7,但是一般都只是用了一些基础的功能,说来也惭愧。在一次偶然的机遇突然发现了“显示调用层级”的选项才知道菜单了的按钮并不都是没有用,而是很有用只是你不知道罢了。 本想这种东西仔细总结了也不一定有价值还耽误时间,但是两个想法最终还是驱动了我仔细弄完,一是xcode7.1才刚更新没多
转载自: http://blog.csdn.net/likendsl/article/details/7576549 XCode4.0以后,编译器换成了LLVM 编译器 2.0 与以前相比,更加强大: 1.LLVM 编译器是下一带开源的编译技术.完全支持C, Objective-C, 和 C++. 2.LLVM 速度比 GCC快两倍,建立的程序也会运行的更快.
转载自: http://blog.sina.com.cn/s/blog_833996210100udkl.html 从http://code.google.com/p/ziparchive/ 上下载ZipArchive.zip,解压后将代码加入工程中,把zlib库添加到工程中 压缩 ZipArchive* zip = [[ZipArc
ALAssetsGroup类是系统用于映射相册资源中的每个相册,可以通过该类获取相册中的资源文件,并且能向相册中添加资源文件 //保存图片到系统默认的相册中,使用cgimageref的形式,并且选择图片以什么旋转方向的形式保存,并返回照片的url地址 /* typedef enum { ALAssetOrienta
iOS5及其以后提供了一个比较强大的工具UIAppearance,可以轻松的统一你的界面,它提供如下两个方法: + (id)appearance + (id)appearanceWhenContainedIn:(Class <>)ContainerClass,... 第一个方法是统一全部改,比如你设置UINavBar的tintColor,你可以这样写:
本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的方法。 - (void)delayMethod { NSLog(@"execute"); } 1.performSelector方法 [self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f]; 此方式要
1. iOS9以后,企业级分发ipa包将遭到与Mac上dmg安装包一样的待遇:默认不能安装,也不再出现“信任按钮”解决办法2. iOS9以后,企业分发时可能存在:下载的ipa包与网页两者的 bundle ID 无法匹配而导致下载失败的情况 解决办法 ※本文主要针对问题二进行问题的深入了解与解决。 我们都知道iOS8企业分发有个bug,就是当因为某种原因更改manifes
科普:UDID 是由子母和数字组成的40个字符串的序号,用来区别每一个唯一的iOS设备,包括 iPhones, iPads, 以及 iPod touches 随着苹果对程序内获取UDID封杀的越来越严格,私有api已经获取不到UDID,Mac地址等信息,继而出现了使用钥匙串配合uuid等等方法变相实现 由于近期项目需求是设备授权的形式使用软件,使用钥匙串等方法不完全能解决问
本文介绍iOS SrpintBoard框架的部分私有API,具体包括: 获取ios上当前正在运行的所有App的bundle id(不管当前程序是在前台还是后台都可以) 获取ios上当前前台运行的App的bundle id(不管当前程序是在前台还是后台都可以) 根据ios app的bundle id得到其App名称、图标(不管当前程序是在前台还是后台都可以) 直接通过App 的bun
当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户也希望如此,但是如果你的app表现的反应迟钝或者很慢就会让你得到不好的评论。 然而,由于IOS设备的限制有时很难工作得很正确。我们开发时有很多需要我们记住这些容易忘记的决定对性能的影响。 这是为什么我写这篇文章的原因。这篇文章用备忘录的形式集合了25个技巧和诀窍可以用来提高你的app性
目前能够实现热更新的方法,总结起来有以下三种 1. 使用FaceBook 的开源框架 reactive native,使用js写原生的ios应用 ios app可以在运行时从服务器拉取最新的js文件到本地,然后执行,因为js是一门动态的 脚本语言,所以可以在运行时直接读取js文件执行,也因此能够实现ios的热更新 2. 使用lua 脚本。lua脚本如同
转载自:http://www.mamicode.com/info-detail-470456.html ios 5 6 7 可以通过解析"/private/var/mobile/Library/Caches/com.app.mobile.installation.plist" 文件获取当前安装app的列表了.ios8 请使用下面这个plist文件. "/var/mobile/L
iOS开发者若想使技艺达到炉火纯青的地步,就要不断借鉴他人的有益经验,紧跟新兴科技和工具的步伐。除了Apple的开发者中心,其他网站上的文章和资源也具备参考价值,若能学得一二,必能锦上添花。不过,时间宝贵,开发者应具备取精华、去糟粕的眼力,这样才能事半功倍。本文推荐的博客和网站都是经过作者James Tang详细了解的,绝对不容错过。 1. objc.io objc.io
iOS8到iOS 9 变化笔记 这里将介绍下我们日常开发一些从iOS8过度到iOS9给我们带来的一些变化,及解决方法。 一、信息收集 language:zh-Hans(iOS8) ——> zh-Hans-CN(iOS9) 所有的进程列表都获取不到了 二、App Transport Security iOS9和OS X El Capita
mattt大神的发布程序:https://github.com/nomad/shenzhen ----------------Mac完整项目----------电台:https://github.com/myoula/sostart----------------iOS完整项目----------------1,豆瓣相册 https://github.com/TonnyTao/Do