privacy

隐私政策

在不影响软件使用的情况下,软件会最大限度的不获取用户的信息。因为我们坚信,“不获取是对用户隐私最好的保护方式”。

Ⅰ 会收集的信息

1.收集实现产品功能所必须的信息。例如手机型号、操作系统信息、位置信息、相册权限。
2.会收集信息只为提供更加个性化的服务和体验。例如你注册账号时的手机号码、邮箱、密码。
3.收集改善用户体验的信息。例如用户操作习惯。

Ⅱ 信息的使用

1.实现产品功能。例如,操作系统信息是为了更好的适配您的手机。
2.体验的优化。例如,用户操作习惯,更好的设计应用布局和功能,优化使用体验。

Ⅲ 您的选择

1.用户操作习惯的信息搜集,您选择我们的软件,默认您允许我们搜集此信息,此信息不针对个人,不定位到个人。如果您不允许可停止软件的使用。
2.相册权限,位置信息,开始收集前会有提示,如果您不允许搜集,可能会影响一些功能的使用,你可以在应用或者手机设置中关闭。
3.个人信息、邮箱、手机号、密码。注册登录即默认允许收集此类信息,如果不允许可以不进行注册和登录,但可能会影响应用部分功能的使用。

Ⅳ 我们的责任和保证

我们有必要遵守相关法律义务,遵循相关法规要求,解决纠纷,防止欺诈和滥用。
我们保证不主动向第三方透漏用户的隐私信息,我们不针对单个个人的隐私信息进行分析,我们将尽力保护用户的隐私信息安全。
如果出现管理变更或软件出售,我们可以在保证安全的情况下向第三方共享您的信息,该第三方有权在符合《隐私权政策》条款的情况下使用该信息。
我们有可能适时修订此政策内容,如果有修订后继续使用我们的服务,即表示同意修订的隐私政策。
如果您对本政策有疑问你可以通过xiaodeve@163.com联系我们,我们将尽快审核涉及的问题,并予以回复。

iOS UI人机界面设计、应用审核相关指南

以下是苹果官方英文文档

App Review 支持

App Store审核准则
App Store审核准则中文版
App Store Connect帮助
常见 App 拒绝情况

iOS UI设计交互指南
对的UI设计和不对的UI设计的对比

iOS UIKit 控件目录

指南和示例代码

相应的简体中文文档

ios7人机界面设计指南、iOS10人机界面设计指南、AppStore审核指南

百度网盘链接: 链接:https://pan.baidu.com/s/1miKfhQo 密码: u3e2

Xcode 8问题及解决方案

1.代码注释不能用

原来的代码注释选择代码,cmd+/ 即可,现在不管用了。
在终端上运行sudo /usr/libexec/xpccachectl 然后彻底退出Xcode重启Xcode,如果不可以就从启电脑。

VVDocumenter-Xcode专门写注释的插件不能用了。
Xcode自带有代码注释快捷键,option+command+/。

还可以采用代码块的方式解决这个问题。具体添加代码块的方法是,
在.m文件中写好代码块,选中,然后点击鼠标左键,不要放开,拖动到右边的code snippets面板中去。

iOS日志分析

在研发的时候,通过NSLog,断点等,都能够很好的发现和定位bug。但是如果已经提交到AppStore,或者在安装到设备上后运行崩溃,而且无法再次重现时,只能通过日志来发现和定位bug。现在说的就是怎么通过日志来定位bug。

1.日志的产生官方文档

Thrift objective C应用

Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现。

Thrift官方网站英文

Thrift支持Mac OS X10.5及以上版本,iOS4及以上版本。iOS5和Mac OS10.7及以上OC开始支持ARC,自动管理Retain/release.

Thrift0.8.0不支持ARC,如果你的应用使用了ARC模式,你可以在Xcode的Targets-》BuildPhases-》COmpilSource把Thrift相关文件设置-fno-objc-arc。Thrift0.9.0开始支出ARC和非ARC,他自动适应程序的ARC和非ARC模式,不需要手动转换。

安装Thrift

ReactiveCocoa 响应式编程

ReactiveCocoa是Github开源的一款cocoa FRP 框架。

函数式编程

函数式编程是种编程范式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里,函数的计算可随时调用。

响应式编程

响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。

RAC中的类和方法

RACSignal和RACStream

RAC的核心是Signal,对应的类为RACSignal,它其实是一个事件源,Signal会给它的订阅者(subscribers)发送一连串的事件。有三种事件:next,error和completed。Signal可以在error或completed事件发出前发出任意多的next事件。

CocoaPods

一.作用

CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。

CocoaPods可以帮助开发者

  • 下载开源库的源代码并引入工程
  • 向工程中添加开源库使用到的framework
  • 解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题
  • 可以方便更新开源库,及其相应的其他更新。

可以让开发者自动化的、集中的、直观的管理第三方开源库。为项目开发节省时间,减少繁杂。

iOS 响应链

1.Gesture Recognizers

Gesture Recognizers是在iOS3.2引入的,可以用来识别手势、简化定制视图事件处理的对象。Gesture Recognizers的基类为UIGestureRecognizer,这一个抽象基类,定义了实现底层手势识别行为的编程接口。在UIKit框架中提供了6个具体的手势识别类,用来识别常见的手势。这6个手势识别器类为:

  • UITapGestureRecognizer:用来识别点击手势,包括单击,双击,甚至三击等。
  • UIPinchGestureRecognizer:用来识别手指捏合手势。
  • UIPanGestureRecognizer:用来识别拖动手势。
  • UISwipeGestureRecognizer:用来识别Swipe手势。
  • UIRotationGestureRecognizer:用来识别旋转手势。
  • UILongPressGestureRecognizer:用来识别长按手势

Mac 下PHP环境的搭建

1.启动服务器

MacBook-Air:~ wgyp$ sudo apachectl start
Password:
MacBook-Air:~ wgyp$ sudo apachectl -v
Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

*注意:Apache启动后,以后Mac开机Apache会自动启动。输入命令行

iPhone6S Plus 屏幕无反应

遇到同事手机屏幕点击无反应,上网搜索一下,他们提供的策略是:

1、锁屏状态下长按home键启用语音控制,然后说《 播放音乐 》,播放歌曲触摸功能恢复。

2、等待手机没电自动关机,再充电开机便可恢复触屏操作。

3、iPhone 5s连接iTunes,升级最新版本iOS系统后触屏功能将恢复。

Runtime

OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法。利用runtime机制让我们可以在程序运行时动态修改类、对象中的所有属性、方法,就算是私有方法以及私有属性都是可以动态修改的。本文旨在对runtime的部分特性小试牛刀,更多更全的方法可以参考系统API文件,

新建两个类ClassOne和ClassTwo

iOS中delegate,Notification,KVO的选择

在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信。在IOS应用不断的出现三种模式来实现这种通信:

1.委托delegation;

2.通知中心Notification Center;

3.键值观察key value observing,KVO

因此,那为什么我们需要这些模式以及什么时候用它以及什么时候不用它。

React Native

React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。React Native着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台。(Learn once, write anywhere)。Facebook已经在多项产品中使用了React Native,并且将持续地投入建设React Native。