- 博客(81)
- 收藏
- 关注
转载 JSPatch 的坑
返回值为 Struct 类型时通过 [methodSignature methodReturnType] 获取到 CMDeviceMotion 的gravity 属性 返回值类型 为 {?=ddd}。而正常情况下,例如,我们获取 view的frame,返回值类型为 {CGRect={CGPoint=dd}{CGSize=dd}}原因:当定义 struct 结构体时,如下定义,则 [...
2017-02-02 14:13:00 181
转载 Jenkins 编译包含Watch OS2 App Target的应用时报错
错误重现我们使用Jenkins 来进行我们的代码集成编译,当应用内添加了 Watch OS2 App的支持时,提交上去的代码会编译失败。失败提示如下:找不到 Watch App。错误分析我们发现其实是编译出来了,只是路径没有找对。分析我们的编译脚本:xcodebuild -scheme ${SCHEME_NAME} -workspace test.workspace -con...
2016-07-04 10:43:00 168
转载 分析Swift项目的编译时间
本文翻译自:Profiling your Swift compilation times我遇到一个问题。我正在开发的一个全新的应用-是100%用Swift来写的。考虑到这个项目只有大概200个文件,我注意到它需要的编译时间超过了我的想象,更重要的是,它比前几个星期的编译速度慢了很多。在这个问题变得越来越糟糕之前,我需要尽快找到问题的根源。第一步是添加 -Xfrontend -...
2016-01-20 14:41:00 228
转载 iOS Keyboard Extension 开发过程遇到的坑
功能按键使用图片每个键盘都需要有一个按钮,那就是切换“下一个键盘”的按钮。在系统键盘,这个按钮使用了一个Emoji表情中的 ????表情来显示。但是对于其它的功能按键,却没有对应的Unicode编码,因此在字体库中也找不到对应的图形,而且Unicode 中的这个图形集合的展示是不统一的: ????⇪⌫⌨? 。所以最好还是叫UE重新设计一下这些功能按键的图片吧。当然,你也可以自己绘制这个按钮了。...
2015-11-11 14:29:00 624
转载 Swift 实现观察者模式
本文翻译自:An Observable Pattern Implementation in Swift问题在过去的几天里,我都在进行着 Gumroad's Small Product Lab 的挑战,就是使用Swift语言来开发一个Mac 应用。这个应用包含一个简单的 结构体 struct 类型 AppConfig, 表示应用中用户可以配置的选项。我所需要的就是创建一个Vie...
2015-11-03 14:59:00 302
转载 iOS Emoji简述
Emoji的现状随着iOS 9.1 的发布,iOS 成为第一个完整支持Unicode 标准里的所有Emoji表情的操作系统。目前最新版本是Unicode 8.0。同时苹果还添加了一些非标准Unicode的Emoji表情,例如下面 :????????Unicode 规范中定义的Emoji表情并没有规定具体的展示形式。所以iOS和Android的Emoji 表情展示是不一样的。在iOS...
2015-10-27 17:26:00 198
转载 Failed to install WatchKit App, error: Application Verification Failed
本文翻译自Failed to install WatchKit App, error: Application Verification FailedWatchKit 刚发布没有多久,它的文档还非常少。这样有好也有坏,并因祸得福得使我对这方面的知识挖得比平时更深,学到了也许我不会学到的知识。我之前遇到一个问题,就是用xcrun 命令而不是使用Xcode的 Archive和导出功...
2015-07-13 11:25:00 224
转载 Swift: Xcode 7 Beta3 中新增的东西
本文翻译自Swift: New stuff in Xcode 7 Beta 3在今天苹果推送的最新beta 版中,下面新增的内容是最让我兴奋的。默认枚举命名在最新的 beta 3 版本中,String 类型的枚举如果没有显示赋值,则默认值为该枚举对应的名字。我非常喜欢这个巨大的改进,也是beta 3 中非常大的一个功能。让我们来看一下吧:Explicit Label Exc...
2015-07-08 14:54:00 102
转载 Xcode:改变你生活的奇怪调试技巧
本文翻译自Xcode: One Weird Debugging Trick That Will Save Your Life参考Advanced Debugging in Xcode and Swift希望你可以从题目看出我对于这个题目有多开心。不管怎样,让我们回到定期计划编程中...在过去的几天里,我一直在早餐时看这个高级调试和地址消毒剂。里面有个超级酷的调试技巧我希望能...
2015-06-30 11:07:00 107
转载 在iOS8 下用Swift 创建自定义的键盘
本文翻译自How to make a custom keyboard in iOS 8 using Swift我将讲解一些关于键盘扩展的基本知识,然后使用iOS 8 提供的新应用扩展API来创建一个莫斯码键盘。大概需要你花20多分钟来走完所有的步骤。 完整代码综述一个自定义的键盘会替换系统的键盘,来提供给用户一个新的文本输入方法,或者输入哪些iOS系统还不支持的语言。一个自定义...
2015-05-10 19:50:00 168
转载 iOS 8下简单,可交互式的通知
本文翻译自:Simple, interactive notifications in iOS 8在iOS 8 中新添加了一个API用来创建可交互式的通知。这些API允许你向在应用外的用户提供额外的功能。我发现网络上缺少清晰的例子,所以我认为我应该写一篇文章来向你展示如何简单地实现这个功能。下面是一个例子。让我们开始吧,在iOS 8中有三个新的类是必须的: UIUserNotif...
2015-03-05 15:03:00 97
转载 在 OS X 上构建和运行 .Net 的 CoreCLR
本文翻译自:Building and Running .NET’s CoreCLR on OS X没错,你没听错,微软已经开源了.Net 核心的完整运行时实现 CLR,而它不仅仅可以运行在Windows 上。他们不是随便地转储一堆ZIP文件到一个FTP服务器上,而是给我们提供了一个功能齐全,易于编译,容易托管在所有人喜欢的文件共享介质上的东西。微软甚至走得更远,在GitHub上设置...
2015-02-10 16:28:00 137
转载 设计模式:策略模式
本文翻译自Design Patterns: The Strategy Pattern目前为止我们已经在这个系列中接触了三个设计模式。我们定义了4种类型的设计模式。在这篇文章中,我将讲解 策略模式,这是属于行为类别的设计模式的。你可能会有一个疑问:我们什么时候该使用这个模式呢?当我们有不同的方式(算法)来执行同样的操作,而我们希望应用可以根据传入的参数来选择合适的方式去执行。一个...
2015-01-24 11:38:00 98
转载 用Swift创建一个自定义,可调整的控件
本文翻译自:HOW TO BUILD A CUSTOM (AND “DESIGNABLE”) CONTROL IN SWIFT大约两年前我写了一篇关于如何在iOS里创建自定义控件的教程。那篇教程在开发者社区中非常受欢迎,所以我决定用Swift语言来更新它,同时添加 designale/inspectable 属性的支持,以便直接通过Interface Builder来设计这个控件。...
2015-01-05 15:12:00 240
转载 iOS7状态栏上有趣的渐变遮罩
本文翻译自:Fun with gradient masks and the iOS 7 status bar在iOS 7以前,设计师和开发者实际上并没有太多考虑到状态栏。它是存在于我们应用的框架frame之外的,而且仅仅占用了22像素高的空间。现在,一切都改变了。这个新的状态栏是在我们应用内的,我们作为应用制作者必须想出一种新的,有趣的方式来处理它。如果你曾经制作过一个有滚动内容的...
2014-12-20 19:24:00 144
转载 UICollectionView 实现专辑封面视差滚动
本文翻译自:Parallax scrolling album covers with UICollectionView视差效果现在风靡一时,iOS7上更是使用了很多。在新的音乐App中,在iTunes Radio中,都有一种我非常喜欢的特别的视差效果。滚动的专辑封面栈。实现这个效果似乎是一个非常有趣的挑战,今天我将向你展示如何创建这个效果。当然,我们使用的是UICollection...
2014-12-16 16:22:00 153
转载 有弹性,可伸展的UICollectionView 头部视图
本文翻译自:Stretchy UICollectionView headers滚动视图的反弹效果可能是iOS中最具特色的效果之一。虽然最初只是华而不实,但随着时间的推移,实际上它已经发挥了一些功能用途,像下拉刷新。另一个很好地应用滚动视图的反弹效果的,就是我最近看到的弹性头部视图。这个效果非常好,当你向下拉动滚动视图时,可以在顶部和底部查看更多的图片内容。你可能已经在Twitt...
2014-12-05 17:33:00 294
转载 SSH 管道 - 使用SSH进行端口转发
本文翻译自:SSH Tunnel – Port Forwarding With SSHSSH 有很多功能,SSH 管道就是其中一个。SSH管道是两台机器间的安全连接,经常被称为“SSH隧道”,或者“端口转发”。使用SSH,我们可以绑定本地计算机的指定端口到远程计算机上的指定端口。这将在这些机器之间创建加密的SSH 管道,并允许通过本地主机套接字地址直接与远程主机通信。我们可以使用...
2014-11-12 23:06:00 824
转载 Radare - 逆向工程框架
本文翻译自:Radare – The Reverse Engineering FrameworkRadare开始作为一个简单的命令行界面的十六进制编辑器,支持64位偏移量以从磁盘中搜索和恢复数据。它已演变成由一个以十六进制编辑器为中心所组成的项目,包括组装/分解器,代码分析,脚本功能,分析和图形化代码与数据,并容易与unix集成。从本质上讲,它已经成为一个逆向工程框架,插件等等。...
2014-11-11 16:29:00 137
转载 Objective-C 宏定义的收集
本文翻译自:Collection of Objective-C Macros下面你将看到一些关于Objective-C 宏定义的收集,你也可以把你收集的回复给我(谢谢你!)// 度数 转为 弧度#define degreesToRadians(x) (M_PI * x / 180.0)// 使定时器失效#define UA_invalidateTimer(t) [t in...
2014-11-06 16:30:00 78
转载 设计模式:适配器模式
本文翻译自:Design Patterns: The Adapter Pattern在上一篇文章中,我们介绍了外观模式如何只用一个简单的外观类来简化任何庞大而复杂的系统工作。在这篇文章中,我们将继续讨论设计模式---适配器模式。 当你的代码依赖于一些外部的API或者其它的代码改变很频繁时,可以使用这个特定的模式来解决问题。这种模式属于“结构模式”的范畴,因为它教导我们的代码和类如...
2014-11-03 16:31:00 80
转载 设计模式:外观模式
当涉及到设计模式时,你可能会问:为什么在编程中需要使用设计模式?我们的代码不用设计模式也能正常工作。为此,我想反问:“你愿意住在一个豪华的家,还是一个只是简单的四面墙的地方?”毕竟,无论哪种,都可以满足我们的需求。一般情况下,我们会选择一个豪华的家,因为它提供了更好的设施,需要更少的维护,保养也不用那么麻烦,因为基础架构已经存在。同样的道理也适用于编程:采用设计模式的代码是...
2014-11-01 16:32:00 69
转载 图片信息
颜色空间用RGB模式表示颜色是颜色空间的其中一种分类,它是众多存储颜色方法中的一种,另一种颜色空间是灰阶空间。所有的图形只有黑色和白色。我这里推荐一篇翻译文章:IOS中图形图像处理第一部分:位图图像原图修改,虽然不是很详细,但是起码讲解很生动。颜色深度颜色深度标准通常有以下几种:8位色,每个像素所能显示的彩色数为2的8次方,即256种颜色。16位增强色,16位彩色,每个像素所能...
2014-10-25 16:34:00 137
转载 图片
图片文件格式如果你想获取一个数码相机导出的数码相片的EXIF和GPS信息,或者你想保存图片数据为TIFF格式,你可能会用到ImageIO.framework 框架。图片IO框架引入了一个图片源的概念(CGImageSourceRef)。可以通过一个磁盘上的文件URL或者NSData对象(实际上是CFDataRef,可从NSData转换得到)来创建这个数据源。通过这个数据源,你可以获...
2014-10-16 16:35:00 75
转载 命令行下构建xcode 工程(build 和 Archive)
mac 10.9 以前的做法1、首先需要解锁mac 系统的keychain 工具,然后导入签名证书:// 解锁钥匙串security unlock-keychain -p password "$HOME/Library/Keychains/login.keychain" // -k 指定证书导入到登录钥匙串中// -P 导入证书时,需要的密码(是导出这个p12格式的证书时输...
2014-10-10 16:36:00 1046
转载 Xcode 运行时配置
有时候,我们的app在测试时需要连接到一个testing服务器,在打包为企业证书的app时又需要连接到另一个ad hoc 服务器,或者我们想企业证书打包的app和debug模式打包的app有不同的APP Bundle Identifier,以在一个测试机上同时安装....等等这些与App开发没有实际连接的需求,如果我们手动改,非常麻烦,如果分工程管理更麻烦。下面介绍一些Xcode中的运...
2014-10-06 15:02:00 176
转载 触摸传递 Touch Delivery
下面是一个触摸传递到视图和手势识别的完整的标准过程:当有一个新的触摸,该应用程序使用hit-testing命中测试(后面会讲)来确定被触摸的视图,这个视图就会永远与这个触摸对应。这个视图称为hit-test视图。如果想忽略一个视图,不处理触摸,可以在这个阶段设置userInteractionEnabled, hidden, 和 alpha属性。每次触摸状态改变,该应用程序会调用自己...
2014-10-05 15:02:00 79
转载 Touches 触摸 & Gesture Recognizer 手势识别
每个UITouch对象对应一个手指。反过来说,每一个手指触摸屏幕时是由在UIEvent里的一个UITouch对象表示的。对于给定的UITouch对象(请记住,一个特定的手指),只有五件事情可能发生。这些被称为接触阶段,并通过一个UITouch实例的相位特性进行了说明:UITouchPhaseBegan手指第一次触摸屏幕,这个UITouch对象刚刚被创建。这总是第一个阶段,而且只会...
2014-10-04 10:06:00 309
转载 Motion Effects & Animation 和 Autolayout
Motion Effects在iOS7中,当用户倾斜设备时,一个视图可以实时地响应。通常情况下,视图的响应将是稍微改变其位置。这被用于,例如,在该界面的各部分,让界面有种层叠感。当UIAlertView存在时,如果使用者倾斜装置,该UIAlertView会移动其位置;效果有点微妙,但足以表明UIAlertView稍微在屏幕的前面漂浮。你自己的视图也可以用同样的方式来表现。一个视图如果...
2014-10-02 10:38:00 144
转载 CIFilter Transitions & UIKit Dynamics
CIFilter Transitions : CIFilter 转换Core Image 过滤器包含了转换。你提供两张图片和一个介于0到1的帧时间;过滤器提供一秒内从第一张图片转换到第二张图片的相应帧。例如下图显示了在0.75秒时的帧画面,正在从纯红色的图片通过星光发射转换动画转换到我自己的图片。(你看不到这张我的图片,因为这个转换,默认会先把第一张图片“爆炸”成纯白色,然后迅速消失,...
2014-09-29 10:30:00 134
转载 Emitter Layers 发射极层
发射极层(CAEmitterLayer)是在一定程度上与动画图像相提并论的:一旦你建立了一个发射极层,它会自己执行所有的动画。该动画的性质是相当窄的:一个发射极层发射的粒子,是CAEmitterCell实例。但是,通过发射极层的属性和它的发射单元的巧妙设置,可以实现一些惊人的效果。此外,使用Core Animation的动画本身就是动画。下面是CAEmitterCell一些有用的基本属...
2014-09-26 10:14:00 245
转载 iOS Actions
为了完整起见,我现在会解释隐式动画是如何工作的 - 也就是隐式动画如何在后台转换成显式动画。隐式动画的基础是动作机制。什么是动作 Action?一个动作是一个实现了CAAction 协议的对象。意味着这个对象实现了 runActionForKey:object:arguments:。这个动作对象可以做任何事情来响应这个消息。实际上,只有CAAnimation 实现了CAAction...
2014-09-23 10:18:00 160
转载 Core Animation (3)
Transitions 转换一个图层的转换动画涉及到对一个图层的两次“复制”,第二次“复制”出现来取代第一次。这个转换由CATransition(一个CAAnimation的子类)来描述,主要有一下的主要属性来描述动画:type你的选择是:kCATransitionFadekCATransitionMoveInkCATransitionPushkCATransition...
2014-09-19 10:25:00 57
转载 Core Animation (2)
Keyframe Animation 关键帧动画关键帧动画(CAKeyframeAnimation)是一种可以替代基本动画的动画(CABasicAnimation);它们都是CAPropertyAnimation的子类,它们都以相同的方式使用。不同的是,关键帧动画,除了可以指定起点和终点的值,也可以规定该动画的各个阶段(帧)的值。这相当于设置动画的属性值(一个NSArray)那么简单...
2014-09-17 10:24:00 62
转载 Core Animation (1)
Core Animation 是iOS动画技术的根本。 视图动画和隐式图层动画都仅仅是Core Animation的方便包装。 Core Animation 是显式图层动画,让你创造更加绚丽的动画。让视图的根图层执行动画是一种图层动画,而不是视图动画--因此不会对视图的子视图进行自动布局,所以我们常常喜欢使用视图动画,而不是图层动画。CABasicAnimation and Its...
2014-09-14 10:21:00 53
转载 隐式图层动画 (Implicit Layer Animation)
如果一个图层已经存在于界面上,而且不是一个视图的根图层,使它执行动画就如设置属性一样简单。文档中所说的动画属性的更改会自动解释为要求动态显示变化。换句话说,图层属性更改默认是执行动画的!多个属性的变化被认为是同一个动画的一部分。这种机制被称为隐式动画。你不能在视图的根图层中使用隐式动画。你可以直接使这个根图层执行动画,但是你必须使用显式的动画,后面会讲到。视图的根图层都是没有任何实际...
2014-09-11 10:20:00 231
转载 iOS Animation 学习(4)
Springing 弹性在iOS 7中,有一个内置的动画曲线,好像挤压弹簧:[UIView animateWithDuration:0.8 delay:0 usingSpringWithDamping:0.7 initialSpringVelocity:0 options:0 animations:^{ CGPoint p = s...
2014-09-08 18:02:00 67
转载 iOS Animation 学习(3)
View Animation OptionsUIView的类方法 nimateWithDuration:animations: 和 animateWithDuration:animations:completion: 都是 animateWith- Duration:delay:options:animations:completion: 的缩减版,参数解析如下:duration...
2014-09-07 18:01:00 99
转载 iOS Animation 学习(2)
UIImageView and UIImage AnimationUIImageView提供了形式很简单的动画,可能这些不值得一提,尽管如此,有时候它就是你所需要的全部。你给UIImageView 的 animationImages 或者 highlightedAnimationImages属性 一个装有UIImage 的NSArray值,这个数组代表一个简单的动画片“帧”。但你发送...
2014-09-04 18:01:00 77
转载 iOS Animation 学习(1)
动画是属性随着时间的可视化变化。不断变化的属性,可能是位置:东西移动或改变大小。其他种类的属性也是可以是动画的。例如,视图的背景颜色可以从红色变为绿色,不是瞬间的,而是从一个到另一个褪色的可视变化。或认为可能会从不透明变成透明的,也不是瞬间的,而是可视的渐行渐远。如果没有帮助,我们大多数人会觉得动画遥不可及。有太多的并发问题 - 计算复杂,时机,屏幕刷新,线程,等等。幸运的是,帮助是有...
2014-09-01 18:00:00 81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人