信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信号量被信号通知,其计数会被增加。当一个线程在一个信号量上等待时,线程会被阻塞(如果有必要的话),直至计数器大于零,然后线程会减少这个计数。
在GCD中有三个函数是semaphore的操作,分别是:
简单的介绍一下这三个函数,第一个函数有一个整形的参数,我们可以理解为信号的总量,dispatch_semaphore_signal
是发送一个信号,自然会让信号总量加1,dispatch_semaphore_wait
等待信号,当信号总量少于0的时候就会一直等待,否则就可以正常的执行,并让信号总量-1,根据这样的原理,我们便可以快速的创建一个并发控制来同步任务和有限资源访问控制。
编程小助手 - 学习编程的有效工具
https://itunes.apple.com/cn/app/bian-cheng-xiao-zhu-shou-xue/id1007208297?mt=8
4+
Swift语言如今如火如荼,势头一发不可收拾。作为iOS开发者都应该开始学习swift语言,本软件主要针对Swifter们开发入门,基础知识温故知新的小工具。
无论你是在坐车途中还是在买单排队,所有细小的时间你都可以充分利用起来,学习充电。
本工具不仅提供了Swift基础语法,还有详尽的进阶指导资源。
PS:业余制作,巩固复习下swift语法
个人博客地址: http://felixmlians.github.io/
Everything has come to its usual state now. Simply upload your binary as you’ve been doing this while, and broadly classify IDFA in two categories:
publisher: You use third-party ad-networks library to display ad. Choose the 1st option in IDFA -> “Serve advertisements within the app”. You’re a publisher since you show ads, but do not perform advertising for your own app.
Advertiser: You use third-party libraries to track conversions for your app, as well as track ‘goals’ in your app. You directly do not show ads in your app. Choose the 2nd & 3rd option in IDFA -> “Attribute this app installation to a previously served ad”. AND “Attribute an action taken within this app to a previously served advertisement”.
Mixed: You track conversions for your app, as well as display ads in your app. Choose all three options.
AppCrackr,dumpdecrypted 下载地址:https://github.com/stefanesser/dumpdecrypted/archive/master.zip进行砸壳。
使用class-dump获取头文件
使用Hopper Disassembler IDA Pro 进行反编译
格式化参数如下:
G: 公元时代,例如AD公元
yy: 年的后2位,12
yyyy: 完整年,2012
MM: 月,显示为1-12
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如 2
EEE: 简写星期几,如Sun
EEEE: 全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
K:时,12小时制,0-11
m: 分,1-2位
mm: 分,2位
s: 秒,1-2位
ss: 秒,2位
S: 毫秒
常用日期组合:
yyyy-MM-dd HH:mm:ss.SSS
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd
MM dd yyyy
6 Apr 2015 #iOS #NSDateFormatter
WARNING:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。(新电脑要发布版本需要重新生成证书)。
证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:
安装在电脑上提供权限:开发人员通过设备进行真机测试。 可以生成副本供多台电脑安装;
安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。
不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain中介绍)
1 Mar 2015 #iOS #certification
ios7中添加了调用 snapshotViewAfterScreenUpdates
创建一个复合视图的快照。然后返回一个uiview
对象来表示调用视图的整体外观。
Supplying YES for -snapshotViewAfterScreenUpdates: means it needs a trip back to the runloop to actually draw the image. If you supply NO, it will try immediately, but if your view is off screen or otherwise hasn’t yet drawn to the screen, the snapshot will be empty.
因为返回的是一个view对象,所以,你可以更改它以及它的layer属性.但是呢,你不能够修改它的layer的content属性;如果你试图这么做,将不会有任何效果.如果当前的view还没有渲染,或者这么说吧,因为还没有出现在屏幕上,那么,这个截取的view将不会有能显示的content.
如果你想要加载一个图形效果,比如blur,请使用这个方法 drawViewHierarchyInRect:afterScreenUpdates:
来代替.
NSOperation是一个抽象的基类,表示一个独立的计算单元,可以为子类提供有用且线程安全的建立状态,优先级,依赖和取消等操作。系统已经给我们封装了NSBlockOperation和NSInvocationOperation这两个实体类。
17 Nov 2014 #iOS #NSOperation
由于iOS无法通过html表单来上传图片,因此想要上传图片,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传。
上传图片的http post请求的格式是这样的:
Content-type: multipart/form-data, boundary=---------------------------14737809831466499882746641449
---------------------------14737809831466499882746641449
Content-Disposition: form-data; name="pic"; filename="boo.jpg"
Content-Type: image/jpeg
... contents of boo,jpg ...
---------------------------14737809831466499882746641449
Content-Disposition: form-data; name="info"
Hello Boris!
---------------------------14737809831466499882746641449