苹果支付 Apple Pay 开发

前言

在发布近两年、历经各种周折之后,苹果公司的Apple Pay移动支付服务终于在2016年2月18日来到了中国大陆。

对中国用户来说,移动支付其实已经不是什么陌生事物,抢红包和支付宝早完成用户启蒙。但与这两者有区别的是,Apple
Pay只是苹果搭建的一个支付服务,它链接银行、店面及用户,但又不像支付宝那样把钱存在自己这。

Apple Pay的准备工作

1. 哪些设备能用Apple Pay?

苹果对设备和系统做了双重限制,两者都要满足要求才能Apple Pay。

  设备要求:简略的说需要iPhone 6或者更新的手机,还有iPad Air 2与mini 3之后的平板,以及苹果手表。

对Objective-C中Block的总结

对Block的定义

  1. Block 是OC中的一种数据类型,在iOS开发中被广泛使用;
  2. ^Block 的特有标记;
  3. Block 的实现代码包含在{}之间;
  4. 大多情况下,以内联 inline 函数的方式被定义和使用;
  5. Block 与C语言的函数指针有些相似,但使用起来更加灵活;

Block示例

Block的声明

1
@property (nonatomic,copy) void (^myBlock)();

解决Xcode升级后插件不能用的问题

解决Xcode升级后插件不能用的问题

Xcode每次更新有个很头疼的问题,就是插件都会失效,要重装。不得不说好多插件还是非常方便能提高效率。下面我们来看下如何解决这个问题。

Xcode插件失效原因

插件升级失效并不是升级或重装原本的插件被删掉了,其实不然,插件还保存在这个目录
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
之所以插件失效,是因为每个插件只供特定UUID的Xcode使用,更新后uuid改变,于是便不能正常使用。

控制器与View的几个初始化方法对比


我们在开发中肯定会遇到下面几个方法,单个使用肯定没有问题,但是把他们凑到一块时,会很容易傻傻分不清楚,下面我们就来对比总结下他们之间的异同。

  • initWithCoder

  • initWithFrame

  • initWithNibName

  • awakeFromNib

  • loadNibNamed

  • loadView


initWithCoder

这个方法是NSCopy中的方法。如果你的项目中用到的是storyboard ,并使用storyboard来创建控制器(也就是拖控件),并绑定控制器的类。这种情况下storyboard会根据storyboard中控制器的nibName属性的值,通过initWithCoder为我们初始化控制器。

为什么会有这种机制呢,这要从storyboard、xib与nib说起。

xib和nib都是Xcode的图形界面设计文档,storyboard 是苹果在 iOS 5 中引入的新技术方案,目的是使纷繁复杂的 nib、xib 之间的关系更直观地展示出来。