下载 Xcode 8,配置 iOS 10 和 Swift 3 (可选)通过命令行编译 除 非你想使用命令行编译,使用 Swift 3.0 的工具链并不需要对项目做任何改变.如果你想的话,打开 Xcode-beta,然后从顶部菜单栏中选择 Xcode > Preferences,接着选择 Location,在页面的底部,你会看到「Command Line Tool」这行设置,请在这里选择 Xcode 8.0. 现在,在 Terminal 使用命令行找到工程所在的文件夹,调用 xcodebuild…
WWDC 2016 上最重磅的消息之一就是在 iOS 10 中引入了 Message 框架.开发者现在可以为苹果内置的 Messages 应用开发扩展啦.通过开发一个应用扩展,你可以让用户跟应用在 Messages 应用中交互.例如,你可以开发一个 Message Sticker Extension 允许用户跟朋友交流时发送表情贴纸.如果你已经开发了一个图片编辑的应用,那么你可以开发一个扩展,这样用户就可以在 Messages 应用内部编辑图片了.扩展的支持为很多应用开发者提供了大量的机会.苹果…
在现有的iOS工程中集成react native, 或者说将react native引入到iOS 项目,是RN和iOS混合开发的必经之路 参考官网教程:https://reactnative.cn/docs/integration-with-existing-apps/ 但是会有一些步骤报错,这里记录一下.首先我的项目结构是这样: RNTEST 是最外面的文件夹的名字,也是iOS项目的名字.ios/  下是iOS项目文件. npm安装RN依赖都没问题,按照官网步骤来 最主要的是 cd ios p…
本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 Apple 在推进网络通讯安全的一个重要方式.在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的.当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Info.plist 中添加 NSAppTransportSecurity 字典并且将NSAllowsA…
本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 Apple 在推进网络通讯安全的一个重要方式.在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的.当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Info.plist 中添加 NSAppTransportSecurity 字典并且将 NSAllows…
Swift版iOS游戏框架Sprite Kit基础教程下册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C 介绍:本教程是国内唯一的Swift版的Spritekit教程.本教程基于Xcode 6.1+iOS 8.1开发环境,采用Swift语言,详细讲解Sprite Kit游戏开发的各种知识,帮助读者尽快iOS游戏开发的技能. 目录   第7章  音频和视频 1 7.1  背景音乐 1 7.1.1  添加背景音乐 1 7.1.2  控制背景音乐 5 7.1.3  设置…
在2016WWDC大会上,Apple公司介绍了一个很好的语音识别的API,那就是Speech framework.事实上,这个Speech Kit就是Siri用来做语音识别的框架.如今已经有一些可用的语音识别框架,但是它们要么太贵要么不好.在今天的教程里面,我会教你怎样创建一个使用Speech Kit来进行语音转文字的类似Siri的app. 设计App UI 前提:你需要Xcode 8 beta版本和一个运行iOS 10 beta系统版本的iOS 设备.先从创建一个新的命名为SpeechToTe…
ios开发中我们打印对象的时候,会直接输出对象地址,这样不方便我们开发.我们可以 巧用 description 打印对象时,输出对象的属性 在oc中直接重写即可.swift中需要遵守Printable协议 看下面的例子 override var description: String { let properties = ["属性1", "属性2", "属性3", "属性4"] return "\(dictionar…
默认UISplitViewController的Master和Detail的宽度是固定的,可以通过下面的方式来改变 [splitViewController setValue:[NSNumber numberWithFloat:200.0] forKey:@"_masterColumnWidth"]; 之前使用一切正常,但当系统升级到iOS 10.0以后,APP在这里闪退了. 解决方案: IOS 8.0之后引入了一个新的参数 maximumPrimaryColumnWidth [spl…
在IOS开发中,我们model另外一个控制器的时候,一般都使用默认的转场动画. 其实我们可以自定义一些转场动画.达到不同的转场效果. 步骤如下:(photoBrowser是目标控制器) 1.在源控制器中,设置目标控制器的转场代理为 self //设置Model转场代理  photoBrowser.transitioningDelegate = self 2.同时设置目标控制器的model类型 //设置Model类型 photoBrowser.modalPresentationStyle=UIMo…