退居三线iOS开发的自主开发历程
忙前忙后,一切终将步入正轨,在忙也要抽出时间思考自己的事情
推荐一篇简书(https://www.jianshu.com/u/8367278ff6cf)讲解很官方
- Metal体验
- 学习了一些基础的视频教程
- 编写了一个简单的渲染引擎
- 使用Metal引擎编写简单的3D游戏
- 项目中加入更多的尝试
- 摸索Swift 4
- 写一套自己的成型的项目基本框架
- 多个项目代码公用
- VPNApp开发
- 商店中的翻墙软件基本都被和谐了,也就是做研究和自用了
- 方案Shadowsocks+Kcp
- ss的vpn方案在GitHub很好找,这里拿来改改就好,主要用到NetworkExtension的PacketTunnelProvider
- KCP在iOS端没有很好的实现,这里也是在网上找了个直接对kcp的.c的封装实例
- 重写方法override func createTCPConnection(to remoteEndpoint: NWEndpoint, enableTLS: Bool, tlsParameters TLSParameters: NWTLSParameters?, delegate: Any?) -> NWTCPConnection拦截TCP请求
- 重写类NWTCPConnection监听TCP的读写,转为KCP+UDP请求
- 最后的问题是服务器是Kcptun,需要成kcp配置才能兼容iOS
- Swift Package Manager尝试
- 研究了一些民间文档,SPM的基本使用比较容易,但大多是再说早期不支持iOS,一位大神另辟蹊径,打包成工程后导入iOS项目中
- 官方文档,内容还是比较少的,明确表示了已经支持iOS,在Xcode中有添加package.swift的功能,应该在Xcode11或以后的版本
- 综上现在研究SPM意义还不到,等Xcode11正式版发布后再进行尝试
- Swift 后台 再次体验
退居三线iOS开发的自主开发历程的更多相关文章
- iOS开发人员程序许可协议
请细致阅读以下的许可协议条款和条件之前下载或使用苹果软件. 这些条款和条件构成你和苹果之间的法律协议. iOS开发人员程序许可协议 目的 你想使用苹果软件(例如以下定义)来开发一个或多个应 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- iOS开发系列--打造自己的“美图秀秀”
--绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...
- iOS开发之再探多线程编程:Grand Central Dispatch详解
Swift3.0相关代码已在github上更新.之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD ...
- 总结iOS开发中的断点续传那些事儿
前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...
- iOS开发系列文章(持续更新……)
iOS开发系列的文章,内容循序渐进,包含C语言.ObjC.iOS开发以及日后要写的游戏开发和Swift编程几部分内容.文章会持续更新,希望大家多多关注,如果文章对你有帮助请点赞支持,多谢! 为了方便大 ...
- iOS开发系列--App扩展开发
概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...
- iOS开发系列--Swift进阶
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
随机推荐
- NoSQL的种类
https://www.zhihu.com/question/30219620
- Java相关框架概念以及思想
1.什么是IoC Ioc—Inversion of Control,即“控制反转”,是一种思想, 一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合.更优良的程序. 高内聚低耦合的设计能够让构 ...
- 用Python计算三角函数之acos()方法的使用
用Python计算三角函数之acos()方法的使用 acos()方法返回x的反余弦值,以弧度表示. 语法 以下是acos()方法的语法: acos(x) 注意:此函数是无法直接访问的,所以我们 ...
- HBase管理与监控——HBase region is not online
发现有些regison程序操作失败,其他region 都是正常的,重启regionserver 后依然报同样的错误. 首先进入hbase的bin目录,执行下面命令检查表是否有存储一致性问题: hbas ...
- Spring Cloud(4):断路器(Hystrix)
Hystrix介绍 相对于单一系统,分布式系统更容易遇到故障,所以我们一般通过构建冗余,使用集群和负载均衡来保证系统的弹性和高可用.当然,这种方式只解决了一部分问题,当服务崩溃时,我们很容易检测到,因 ...
- SQL Server 中 ROWLOCK 行级锁
一.ROWLOCK的使用 1.ROWLOCK行级锁确保,在用户取得被更新的行,到该行进行更新,这段时间内不被其它用户所修改.因而行级锁即可保证数据的一致性,又能提高数据操作的并发性. 2.ROWLOC ...
- vue data中的对象的属性如何使用watch监听
在写项目的时候遇到了一个问题,就是需要动态监听data中一个对象的属性的变化.遇到了许多坑,在此过程中也发现了两种解决方案. 一.通过deep属性实现 data() { return { parent ...
- 打开svn时出现 R6034
An application has made an attempt to load the C runtime library...... 最后发现是因为环境变量path里面有:E:\anacond ...
- 3分钟Markdown快速入门与使用
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 注意:图片为效果图 1 标题 #开头代表标题,几个#号代表几级,最高支持六级标题 ...
- PYTHON 100days学习笔记008-1:数据结构补充
目录 Day008_01:数据结构补充 1.列表list 1.1 将列表当作堆栈使用 1.2 将列表当作队列使用 1.3 列表推导式 1.4 嵌套列表解析 1.5 del语句 2.元组和序列 3.集合 ...