视频课程 人浏览 历史评分   更新时间: 30天前 随到随学

课程介绍

注意0:欲购买此课程,获取安全购买链接,索要正版授权学习平台账号,务必加咨询QQ:2536379620
注意1:由于编码原因,试听课程视频画面清晰度不如最终购买的视频。最终购买视频的画面清晰度可参见以下两张图。图1   图2
注意2:正版良心视频,购买后有机会和原作者直接短暂技术交流。


课程简介
这是一门使用Swift语言,从0开发一个iOS平台,接近企业级商业级的项目(我的云音乐),课程包含了基础内容,高级内容,项目封装,项目重构等知识,99%代码为手写;因为这是项目课程,所以不会深入到源码讲解某个知识点,以及原理但会大概讲解一些原理,主要是讲解如何使用系统功能,流行的第三方框架,第三方服务,完成接近企业级商业级项目,目的是让大家,学到真正的企业级商业级项目开发技术。

适用人群
刚刚毕业的学生
想提升iOs项目开发技术
想提高职场竞争力
想学习ios项目架构技术
想学习从零开发iOS项目
想学习企业级项目开发技术

能学到什么?
学会iOS基础知识
常用项目封装技术
企业级项目开发实践
通用软件编程思维
ios高级开发知识
常用项目重构技术
常用iOS编程技巧
更多请看课程>>

 

课程大纲


01
项目演示/项目实战试看在第10章
【录播】课程简介和常见问题(25)         暂无试看

【录播】项目功能演示(41)

【录播】人生苦短,我们只做好课(13)

【录播】更好的学习方法(请勿跳过)(5)

【录播】学习遇到问题了,如何解决?(请勿跳过)(8)

【录播】如何有效的提问(请勿跳过)(10)

【录播】视频电子书源码资源如何配合学习(8)

02
课程代码和资源使用方法
【录播】课程代码和资源简介(请勿跳过)(5)

【录播】项目代码使用方法(请勿跳过)(4)

【录播】如何查看代码和资源Git提交历史(18)

【录播】设计资源使用方法(5)

03
快速入门Postman工具
【录播】什么是Postman(4)

【录播】Mac电脑安装Postman(4)

【录播】接口的导入和导出(4)

【录播】Postman的基础使用(7)

04
版本控制概念和环境搭建
【录播】什么是版本控制系统(3)

【录播】有哪些版本控制系统(6)

【录播】什么是Git版本控制(4)

【录播】如何macOS系统上安装Git(2)

05
快速入门Git版本控制系统
【录播】获取Git使用帮助(5)

【录播】如何配置Git(3)

【录播】创建一个Git仓库(6)

【录播】将文件添加到Git中(8)

【录播】如何修改文件并提交到Git(4)

【录播】如何从Git还原文件(5)

【录播】多学一点Git(2)

【录播】iOS项目Git忽略文件配置(6)

06
有哪些Git可视化工具
【录播】有哪些Git可视化工具(3)

【录播】GitFork查看提交历史(13)

07
快速入门Github使用方法
【录播】什么是Github?(3)

【录播】一般都是用Github做什么?(6)

【录播】如何搜索需要的资源(18)

【录播】如何下载仓库源码?(9)

【录播】如何收藏一个项目(6)

【录播】获取仓库信息和帮助(12)

08
创建项目和依赖管理
【录播】新版Xcode如何创建项目(12)

【录播】Xcode如何创建项目(19)

【录播】新版Xcode项目和旧版区别(18)

【录播】什么是Ruby语言(5)

【录播】macOS上使用RVM安装Ruby(11)

【录播】什么是CocoaPods(4)

【录播】CocoaPods安装(6)

【录播】添加CocoaPods依赖管理(20)

【录播】如何给CocoaPods设置代理(8)

【录播】如何更新CocoaPods仓库(4)

09
快速入门Xcode
【录播】认识Mac键盘修饰键(3)

【录播】Xcode常用快捷键(14)

10
启动界面和引导界面
【录播】启动页功能分析(8)

【录播】实现启动界面(30)

【录播】常见Xcode问题解决方法(10)

【录播】实现第二个启动界面(17)

【录播】如何跳转到引导界面(43)

【录播】AppDelegate添加获取实例方法(15)

11
继续实现引导界面
【录播】更改项目Bundle ID(9)

【录播】启动引导广告界面效果演示(8)

【录播】实现引导界面按钮(45)

【录播】重构引导界面按钮尺寸(17)

【录播】重构圆角和边框逻辑(23)

【录播】重构iOS使用颜色(24)

【录播】全局颜色共享(12)

12
完善引导界面逻辑
【录播】实现引导界面按钮逻辑(9)

【录播】实现跳转到登录注册界面(12)

【录播】实现跳转到首页界面(6)

【录播】Swift项目引用OC框架(11)

【录播】使用源码方式引用框架(7)

【录播】实现引导界面轮播图(29)

13
实现引导界面轮播图
【录播】重构引导控制器轮播图(9)

【录播】重构创建Storyboard实例(7)

【录播】Xcode注释使用技巧(11)

【录播】如何使用iOS偏好设置(8)

【录播】保存是否显示了引导界面(19)

14
用户登录注册
【录播】给登录注册界面添加导航控制器(7)

【录播】登录注册找回密码效果演示(5)

【录播】实现用户登录注册界面(19)

【录播】实现登录注册按钮(5)

【录播】实现按钮按下改变颜色(9)

【录播】修复登录注册按钮颜色问题(5)

【录播】如何实现按钮点击事件(10)

【录播】实现第三方登录按钮布局和事件(25)

15
用户登录和注册
【录播】如何跳转到注册界面(13)

【录播】实现注册界面布局(19)

【录播】给控件添加规则(13)

【录播】关联注册界面控件(9)

【录播】实现输入框左侧添加图标(12)

【录播】实现通用Controller(11)

【录播】添加全局提示功能(32)

【录播】用户注册参数校验(11)

16
快速入门测试驱动开发
【录播】什么是测试驱动开发(8)

【录播】iOS中的测试驱动开发(3)

【录播】测试驱动开发一般步骤(5)

【录播】使用测试驱动方法实现手机号格式判断(24)

【录播】实现手机号格式判断(13)

【录播】实现文件大小格式化(27)

【录播】单元测试总结(7)

17
如何实现用户注册功能
【录播】重构用户注册规则(16)

【录播】完善用户注册规则校验(15)

【录播】使用Xcode调试项目(15)

18
快速入门响应式编程
【录播】什么是响应式编程(9)

【录播】如何集成RxSwift框架(5)

19
如何在iOS中请求网络
【录播】项目中网络请求实现概述(3)

【录播】如何允许HTTP请求(6)

【录播】配置网络请求相关地址(10)

【录播】集成Moya网络框架(8)

【录播】配置Moya网络框架(22)

【录播】如何使用Moya请求网络(14)

20
继续实现网络请求
【录播】网络请求错误处理(35)

【录播】如何在Moya中使用插件(10)

【录播】如何显示请求对话框(10)

【录播】使用RxSwift方式请求网络(10)

【录播】创建歌单模型对象(12)

【录播】将JSON字符串解析为对象(19)

【录播】扩展RxSwift添加解析对象方法(28)

21
封装网络请求
【录播】如何封装网络请求响应数据(14)

【录播】如何解析详情网络请求(12)

【录播】列表网络请求封装(6)

【录播】如何解析列表网络请求(8)

【录播】如何封装网络请求流程(3)

【录播】如何封装Provider为单例(6)

【录播】封装网络请求Provider(22)

22
继续实现网络封装
【录播】封装自动处理请求错误思路(20)

【录播】实现自定义观察方法(42)

【录播】测试封装的网络请求(8)

【录播】实现请求自动错误处理(32)

【录播】测试网络错误处理(13)

【录播】使用网络请求日志插件(6)

【录播】如何实现网络请求加载提示(11)

【录播】使用RxSwift封装了网络请求的好处(13)

23
如何实现用户登录注册
【录播】实现用户注册(35)

【录播】注册后自动登录(33)

【录播】如何保存登录信息(21)

【录播】登录完成跳转到首页(6)

【录播】启动页面添加登录判断(8)

【录播】如何实现跳转到登录界面(11)

【录播】实现用户登录界面(21)

【录播】关联用户登录界面控件(9)

24
增强用户登录
【录播】实现手机号登录(15)

【录播】重构登录逻辑(15)

【录播】实现邮箱登录(18)

【录播】第三方登录相关概念(11)

【录播】第三方登录流程(7)

【录播】如何创建QQ第三方登录应用(18)

【录播】如何创建ShareSDK应用(8)

25
继续实现第三方登录
【录播】如何集成ShareSDK(6)

【录播】初始化ShareSDK和配置(17)

【录播】修复运行到真机错误(6)

【录播】实现QQ第三方登录(19)

【录播】第三方登录流程介绍(12)

【录播】实现补充用户信息界面(19)

【录播】注册时带上第三方登录信息(10)

26
增强第三方登录
【录播】完成第三方登录(30)

【录播】其他平台第三方登录方法(3)

【录播】微博开发平台创建应用(13)

【录播】配置微博应用信息(10)

【录播】实现微博登录(11)

【录播】对接微博登录补充用户资料(21)

【录播】重构第三方登录逻辑(7)

27
实现找回密码功能
【录播】找回密码相关功能演示(15)

【录播】实现找回密码界面(24)

【录播】如何实现找回密码(33)

【录播】实现验证码倒计时效果(26)

【录播】如何发送短信验证码(21)

【录播】如何发送邮箱验证码(11)

【录播】用户相关功能总结(17)

28
快速网络抓包
【录播】网络抓包概述(7)

【录播】如何安装Charles抓包软件(6)

【录播】使用Charles抓Mac电脑请求包(8)

【录播】如何抓iPhone模拟器请求包(5)

【录播】使用Charles抓手机请求包(5)

【录播】iPhone手机如何配置代理(8)

【录播】使用Charles抓HTTPS请求包(13)

【录播】使用Charles抓iPhone HTTPS请求包(8)

29
实现项目主界面框架
【录播】快速实现首页TabBar框架(7)

【录播】完善首页TabBar框架(18)

【录播】添加发现界面控制器(8)

【录播】实现用户退出(13)

30
快速入门iOS屏幕适配
【录播】iPhone组件常用尺寸(7)

【录播】如何获取iOS状态栏导航栏等高度(16)

【录播】iPhone手机屏幕尺寸(3)

【录播】屏幕尺寸/分辨率/像素密度/缩放(12)

【录播】屏幕适配原理和实例(8)

【录播】为什么需要1/2/3倍图(9)

31
如何实现启动页广告
【录播】应用中添加广告简介(6)

【录播】实现跳转到广告界面(12)

【录播】实现启动页广告界面(29)

【录播】关联界面控件和事件(12)

【录播】如何更改状态栏颜色(4)

【录播】实现广告页面交互(10)

【录播】点击广告如何打开(28)

【录播】首页如何打开广告(18)

【录播】重构打开广告界面(10)

【录播】注册界面添加用户协议(6)

32
登录注册到首页界面
【录播】如何配置导航栏(10)

【录播】重构导航栏设置方法(16)

【录播】如何隐藏导航栏(13)

【录播】登录界面适配iPhone X(4)

【录播】重构导航栏隐藏(10)

【录播】修复登录界面相关问题(7)

33
在iOS如何编写UI测试
【录播】如何编写测试计划(11)

【录播】通过录制方式创建UI测试(26)

【录播】更改默认生成测试代码(34)

【录播】UI相关测试总结(1)

【录播】修复使用CocoaPod后UI测试问题(5)

34
实现发现界面
【录播】快速入门CollectionView(29)

【录播】搞懂CollectionView间隔(24)

【录播】实现一个等间距3列列表(9)

【录播】CollectionView如何添加头部(19)

【录播】如何实现发现页面轮播图(25)

【录播】实现轮播图显示网络数据(30)

【录播】美化轮播图框架(5)

35
继续实现发现页面
【录播】实现首页轮播图点击(13)

【录播】重构发现页面头部(10)

【录播】实现发现页面头部按钮(14)

【录播】实现头部按钮点击事件(6)

【录播】动态显示每日推荐日期(12)

【录播】重新设置发现页面头部高度(4)

【录播】重构发现界面列表(13)

36
实现发现页面歌单
【录播】如何显示歌单数据(42)

【录播】从网络请求歌单数据(8)

【录播】完成歌单界面(25)

【录播】歌单显示数据(15)

【录播】重构图片显示(14)

【录播】重新计算歌单高度(9)

【录播】重构通用CollectionViewCell(10)

37
完善首页发现页面
【录播】请求单曲列表数据(23)

【录播】显示单曲列表Cell(11)

【录播】完成单曲Cell数据显示(36)

【录播】美化发现界面(9)

【录播】如何给导航栏添加按钮(10)

【录播】导航添加搜索按钮(13)

【录播】如何自定义CollectionView布局(6)

38
实现歌单详情
【录播】点击歌单跳转到歌单详情(24)

【录播】实现歌单详情歌曲列表(20)

【录播】修复UITableView分割线问题(3)

【录播】请求网络歌单数据(10)

【录播】实现歌曲Cell(24)

【录播】自定义UITableView选中状态(10)

【录播】传递用户登录标识(11)

39
继续实现歌单详情
【录播】重构通用TableViewCell(6)

【录播】UITableView如何显示头部(19)

【录播】完成歌单详情头部布局(23)

【录播】继续实现歌单详情头部布局(29)

【录播】关联控件和事件(23)

【录播】如何显示歌单详情数据(15)

【录播】重构通用TableView头部(6)

【录播】显示歌单收藏状态(18)

40
完善歌单详情功能
【录播】头部点击事件处理(11)

【录播】实现歌单收藏和取消收藏(24)

【录播】实现歌单详情背景(10)

【录播】如何实现导航栏状态栏透明(17)

【录播】修复歌单详情背景问题(7)

【录播】更好的修复歌单详情背景问题(16)

41
实现歌单详情跳转到其他界面
【录播】实现歌单详情按钮组圆角(14)

【录播】歌单详情跳转到评论列表(10)

【录播】歌单详情跳转到用户详情(8)

【录播】右上角添加菜单按钮(12)

42
如何实现音乐播放
【录播】音乐播放实现概述(12)

【录播】点击歌曲跳转到简单播放界面(13)

【录播】实现简单播放界面(14)

【录播】关联控件和方法(11)

【录播】音乐播放相关逻辑实现分析(12)

【录播】实现音乐播放管理器单例(17)

【录播】实现音乐播放暂停(16)

43
继续实现音乐播放管理器
【录播】使用音乐播放管理器(9)

【录播】如何显示播放状态(14)

【录播】如何使用播放代理(16)

【录播】如何显示音乐总进度(45)

【录播】如何显示音乐播放进度(28)

【录播】界面上显示播放进度(6)

【录播】实现音乐进度拖拽(10)

【录播】修复进度条拖拽问题(14)

44
如何实现播放列表
【录播】创建播放列表管理器(23)

【录播】在播放列表管理器中播放音乐(13)

【录播】完成播放列表管理器(9)

【录播】实现播放列表循环模式(39)

【录播】实现下一曲上一曲(20)

【录播】实现自动播放下一曲和单曲循环(16)

【录播】如何显示播放列表(15)

45
增强音乐播放器
【录播】播放点击的这音乐(4)

【录播】歌单详情显示播放状态(29)

【录播】界面显示音乐信息(5)

【录播】隐藏和显示播放状态(7)

【录播】播放列表选中当前播放的音乐(17)

【录播】歌单详情选中播放的音乐(17)

【录播】音乐播放列表删除交互(13)

46
继续实现播放相关逻辑
【录播】完成播放列表音乐删除(32)

【录播】歌单详情显示音乐播放动画(22)

【录播】重构显示播放动画(14)

【录播】实现发现页面显示播放状态(8)

【录播】如何实现后台播放音乐(19)

【录播】如何监听应用前后台状态(16)

【录播】修复重新设置代理不回调问题(12)

47
iOS媒体控制中心
【录播】通知中心和媒体控制中心演示(7)

【录播】显示歌曲信息到媒体控制中心(37)

【录播】如何响应媒体中心的控制(30)

【录播】修复播放界面信息不同步问题(14)

【录播】实现iPhone有线耳机控制(12)

【录播】蓝牙耳机如何使用(6)

【录播】测试蓝牙耳机控制(4)

【录播】监听其他音频中断(26)

【录播】测试拨打或接听电话(5)

48
如何持久化播放列表
【录播】持久化播放列表概述(10)

【录播】集成数据库框架(7)

【录播】数据库框架快速入门(20)

【录播】查看数据库相关信息(9)

【录播】如何查看数据库数据(8)

【录播】保存播放列表实现概述(3)

【录播】创建保存歌曲数据对象(22)

49
继续实现持久化播放列表
【录播】封装数据库操作(34)

【录播】如何保存最后播放的音乐(22)

【录播】从数据库恢复播放列表(41)

【录播】从数据库播放列表删除音乐(22)

50
完善音乐播放框架
【录播】歌词数据接口和数据格式(5)

【录播】从网络请求歌词(22)

【录播】如何播放发现界面单曲(5)

51
实现黑胶唱片界面
【录播】跳转到黑胶唱片界面(11)

【录播】黑胶唱片界面分析(7)

【录播】实现背景和高斯模糊(16)

【录播】如何实现导航栏透明(12)

【录播】播放界面右上角添加按钮(9)

【录播】实现播放相关界面(23)

【录播】关联播放相关控件(19)

52
继续实现黑胶唱片界面
【录播】对接音乐播放功能(28)

【录播】监听播放界面前后台事件(10)

【录播】实现歌曲切换和播放模式(9)

【录播】如何显示播放列表(4)

【录播】如何显示一个底部弹窗(23)

【录播】实现音乐播放列表(24)

【录播】播放点击的这首音乐(8)

【录播】高亮当前播放的这首音乐(13)

53
完善音乐播放逻辑
【录播】实现黑胶唱片列表(19)

【录播】设置黑胶唱片间距和尺寸(13)

【录播】实现黑胶唱片Cell布局(23)

【录播】显示黑胶唱片数据(10)

【录播】滚动到当前音乐黑胶唱片(15)

【录播】实现歌曲拖拽播放(4)

54
继续实现黑胶唱片
【录播】实现旋转黑胶唱片分析(5)

【录播】添加实现SwiftEventBus框架(5)

【录播】分发黑胶唱片旋转和停止旋转事件(31)

【录播】实现旋转黑胶唱片(24)

【录播】如何实现手动切换黑胶唱片(8)

【录播】实现手动切换黑胶唱片(40)

【录播】修复切换黑胶唱片问题(13)

55
完善黑胶唱片功能
【录播】显示黑胶唱片指针(16)

【录播】实现黑胶唱片指针旋转(17)

【录播】修复黑胶唱片指针旋转问题(12)

56
实现音乐歌词的解析
【录播】歌词实现步骤概述(3)

【录播】音乐歌词分类(11)

【录播】歌词解析实现分析(6)

【录播】使用测试驱动方法解析LRC歌词(25)

【录播】更改歌词模型(7)

【录播】完成LRC歌词解析(25)

【录播】KSC歌词解析测试(17)

57
继续实现歌词
【录播】解析KSC歌词(20)

【录播】实现黑胶唱片和歌词的切换(31)

【录播】添加歌词列表控件(35)

【录播】如何根据播放时间滚动歌词(23)

【录播】如何高亮正在播放的LRC歌词(8)

【录播】如何让歌词前面后面都有一些空行(14)

【录播】如何精确计算占位数(7)

【录播】修复第一次显示歌词和歌手头像问题(4)

【录播】如何实现音乐无歌词提示(9)

58
进阶音乐歌词
【录播】如何实现歌词拖拽效果(18)

【录播】完成歌词拖拽效果(8)

【录播】实现拖拽歌词相关功能(27)

【录播】实现从当前歌词播放(6)

【录播】修复歌词滚动位置问题(10)

【录播】如何实现KSC歌词高亮(10)

【录播】更改为自定义控件绘制歌词(9)

59
完善音乐歌词
【录播】实现自定义控件绘制LRC歌词(36)

【录播】将时间信息传递到自定义歌词View(15)

【录播】实现KSC歌词绘制(45)

【录播】完成KSC歌词绘制(23)

【录播】如何重构歌词绘制架构(7)

60
与播放相关的周边功能
【录播】长按封面显示封面大图(16)

【录播】实现背景和封面的显示(19)

【录播】如何保存图片到相册(13)

【录播】实现歌词长按跳转到选择歌词界面(15)

【录播】实现歌词选择界面(24)

【录播】实现歌词选中效果(8)

【录播】获取选中的歌词文本(14)

61
如何实现歌词分享
【录播】实现歌词文本分享(28)

【录播】跳转到分享歌词图片界面(11)

【录播】实现分享歌词图片界面(37)

【录播】实现分享歌词图片(19)

【录播】实现保存歌词图片到相册(6)

62
实现评论相关功能
【录播】评论相关功能效果演示(6)

【录播】实现评论列表界面(15)

【录播】从网络请求评论数据(25)

【录播】如何实现评论Cell自动高度(8)

【录播】实现评论列表Cell界面(33)

【录播】如何格式化评论日期时间(35)

【录播】实现评论列表分组(19)

【录播】自定义分组标题(16)

63
继续实现评论列表
【录播】如何实现下拉刷新上拉加载更多(2)

【录播】安装下拉刷新框架(4)

【录播】查看评论列表分页接口功能(5)

【录播】实现下拉刷新上拉加载更多(26)

【录播】显示评论数量到标题(3)

【录播】如何显示Mention和HashTag(3)

【录播】添加YYText框架(2)

【录播】通过正则实现查找Mention(16)

64
继续实现评论列表
【录播】通过正则实现查找HashTag(8)

【录播】重构正则表达式查找方法(5)

【录播】实现评论关键内容高亮(17)

【录播】使用YYLabel显示评论内容(7)

【录播】如何让YYLabel高度自适应(11)

【录播】给高亮内容添加点击事件(24)

【录播】如何获取点击的评论文本(12)

65
增强评论列表相关功能
【录播】将点击事件代理到控制器(8)

【录播】实现点击Mention跳转到用户详情(6)

【录播】实现点击话题跳转到话题详情(7)

【录播】如何显示被回复的评论(5)

【录播】更改布局实现显示回复的评论(15)

【录播】修复没有被回复的评论间歇问题(7)

66
实现发布评论相关功能
【录播】实现发布评论输入框(17)

【录播】如何监听键盘发送事件(12)

【录播】调用接口发布评论(17)

【录播】输入框如何显示提示文本(10)

【录播】如何实现键盘自动移动(10)

【录播】显示评论更多操作对话框(21)

67
完善评论列表功能
【录播】回复一条评论(12)

【录播】如何实现拷贝评论(3)

【录播】如何实现评论点赞(9)

【录播】添加评论点赞接口(12)

【录播】实现评论点赞功能(18)

【录播】实现点击评论用户头像功能(5)

68
实现评论列表选择话题
【录播】实现跳转到选择话题界面(8)

【录播】实现请求话题列表数据(2)

【录播】实现显示话题列表(20)

【录播】完成选择话题(15)

69
实现评论列表选择好友
【录播】实现跳转到选择好友界面(9)

【录播】实现请求我的好友数据(12)

【录播】实现显示好友列表(20)

【录播】完成选择好友(9)

70
增强好友列表功能
【录播】实现好友数据分组(40)

【录播】界面上显示分组数据(9)

【录播】实现右侧显示首字母(14)

【录播】如何使用搜索控制器(23)

【录播】根据搜索过滤用户(25)

【录播】显示搜索的用户(10)

71
实现首页我的界面
【录播】创建我的界面控制器(4)

【录播】请求我创建的歌单(14)

【录播】实现列表界面显示(12)

【录播】创建分组标题Cell(16)

【录播】实现歌单列表分组(15)

【录播】实现分组更多按钮点击(4)

72
继续实现我的界面
【录播】请求我的收藏的歌单(8)

【录播】实现歌单数据实时更新(11)

【录播】实现跳转到创建歌单界面(12)

【录播】调用接口完成歌单创建(16)

【录播】实现我的页面按钮(5)

【录播】实现Cell点击事件(5)

【录播】实现跳转到本地音乐界面(6)

73
如何优雅的实现下载功能
【录播】实现跳转到下载管理页面(7)

【录播】下载功能实现概述(7)

【录播】集成第三方下载框架(6)

【录播】实现音乐的下载(34)

【录播】完成音乐的下载(16)

【录播】实现播放本地音乐功能(13)

【录播】完成本地音乐界面逻辑(22)

【录播】播放本地音乐列表中的音乐(12)

74
实现本地音乐编辑功能
【录播】如何实现列表编辑(13)

【录播】实现批量编辑界面(15)

【录播】实现TableView批量编辑模式(14)

【录播】实现删除多选的音乐(27)

【录播】实现全选和反选功能(11)

75
开发如何模拟不同网速
【录播】开发中如何限制网速(3)

【录播】安装苹果官方提供的可选组件(8)

【录播】如何使用Network Link Conditioner(8)

【录播】iPhone真机如何限速(2)

76
实现音乐下载管理
【录播】显示除下载完成的任务(16)

【录播】自定义音乐下载Cell(27)

【录播】实现暂停继续下载功能(13)

【录播】实现全部辅助按钮布局(8)

77
继续实现音乐下载功能
【录播】实现全部暂停继续下载功能(15)

【录播】实现全部删除功能(3)

【录播】实现单个下载任务删除(7)

【录播】关于下载功能的优化(5)

78
实现用户详情界面
【录播】获取用户详情数据(15)

【录播】用户详情界面分析(3)

【录播】添加界面用到的框架(4)

【录播】创建用户详情头部View(7)

【录播】创建用户详情歌单View(4)

【录播】创建用户详情动态View(15)

【录播】创建用户详情关于我View(6)

【录播】实现用户详情歌单View(16)

79
继续用户详情界面
【录播】实现用户详情框架结构(34)

【录播】继续实现用户详情框架结构(32)

【录播】实现用户详情头部布局(37)

【录播】好友社交关系简介(3)

【录播】实现关注取消关注用户(23)

【录播】实现跳转到发送消息界面(12)

【录播】实现歌单列表View(22)

80
实现视频相关功能
【录播】获取视频列表数据(14)

【录播】显示视频列表(12)

【录播】完善视频列表(39)

【录播】点击视频跳转到详情(7)

【录播】分析视频详情界面布局(5)

【录播】实现界面框架布局(38)

【录播】关联布局中的控件(41)

81
继续实现视频详情
【录播】请求视频详情数据(7)

【录播】请求相关视频数据(4)

【录播】请求视频评论数据(3)

【录播】将数据进行分组(18)

【录播】完成列表的显示(38)

【录播】显示视频信息(20)

【录播】安装TagView框架(3)

82
完善视频详情功能
【录播】实现视频Tag显示(9)

【录播】显示视频发布人信息(11)

【录播】实现滚动评论顶部(21)

【录播】显示相关视频数据(8)

83
实现视频播放
【录播】视频播放实现分析(3)

【录播】封装视频播放管理器(32)

【录播】继续封装视频播放管理器(17)

【录播】使用视频播放管理器(14)

【录播】完善视频播放交互(19)

【录播】隐藏和显示播放控制器(19)

【录播】处理视频后台和前台逻辑(11)

84
完善视频播放
【录播】如何播放本地视频(7)

【录播】转屏功能实现概述(3)

【录播】完成屏幕的自动旋转功能(10)

【录播】如何监听屏幕方向(21)

【录播】实现播放界面手动转屏(8)

【录播】关于视频相关功能优化说明(3)

85
实现用户动态
【录播】用户动态相关功能概述(6)

【录播】安装分段控件框架(3)

【录播】实现分段控件切换(16)

【录播】实现动态列表框架结构(14)

【录播】实现附近列表数据显示(7)

【录播】请求动态数据(16)

【录播】显示动态列表(21)

86
继续实现用户动态
【录播】实现显示文本动态(22)

【录播】重构动态列表Cell(13)

【录播】实现显示图片动态(5)

【录播】显示图片动态中的图片(24)

【录播】完善图片动态Cell(14)

【录播】安装图片预览框架(3)

【录播】实现预览动态图片(18)

87
实现发布动态
【录播】跳转到发布动态界面(9)

【录播】实现发布动态界面(25)

【录播】实现发布文本动态(14)

【录播】实现文本输入框字数统计(9)

【录播】安装图片选择框架(3)

【录播】实现选择图片(11)

【录播】如何显示选择的图片(19)

【录播】实现删除选择的图片(10)

【录播】实现添加图片按钮(16)

88
继续实现发布动态
【录播】媒体资源存储概述(10)

【录播】安装阿里云OSS SDK(2)

【录播】实现上传图片到阿里云OSS(36)

【录播】实现发布图片动态(14)

89
如何使用高德地图
【录播】定位流程概述(4)

【录播】如何集成高德定位SDK(2)

【录播】获取高德地图配置信息(4)

【录播】基础单次定位(25)

【录播】发布动态界面显示位置(9)

【录播】发送动态带上定位信息(12)

【录播】动态相关功能总结(3)

90
如何实现我的账号
【录播】我的账号界面实现分析(3)

【录播】如何在Storyboard中使用ScrollView(8)

【录播】实现账号界面设置项布局(25)

【录播】关联账号界面控件和方法(14)

【录播】实现用户退出功能(7)

【录播】添加相关View点击事件(15)

【录播】点击用户信息跳转到用户详情(2)

91
继续实现我的账号界面
【录播】可视化添加导航栏按钮(4)

【录播】显示用户资料(5)

【录播】跳转到编辑资料页面(5)

【录播】实现编辑资料界面(31)

【录播】关联控件和方法(18)

【录播】获取用户资料并显示(28)

【录播】实现选择图片功能(13)

92
继续实现更新用户资料
【录播】实现上传头像功能(14)

【录播】配置更新用户资料接口(16)

【录播】实现更新用户头像(14)

【录播】更新昵称和个人介绍(10)

【录播】添加选择器依赖(3)

【录播】实现选择性别生日地选择(21)

【录播】完成用户资料更新(6)

93
完善用户资料更新
【录播】绑定解绑第三方账号概述(2)

【录播】查看绑定解绑接口(4)

【录播】实现QQ账号绑定(19)

【录播】实现微博账号绑定(5)

【录播】实现QQ账户解绑(12)

【录播】实现微博账号解绑(3)

【录播】用户相关功能总结(4)

94
实现好友和粉丝功能
【录播】实现跳转到我的好友列表(11)

【录播】如何实现粉丝列表(6)

【录播】请求好友和粉丝数据(9)

【录播】显示用户列表(11)

【录播】实现跳转到添加好友列表(10)

95
使用响应式编程实现用户搜索
【录播】实现用户搜索界面(5)

【录播】添加RxCocoa框架(5)

【录播】如何监听用户输入(15)

【录播】调用用户接口搜索(13)

【录播】搜索的结果如何显示(12)

【录播】如何监听Cell点击事件(7)

96
进阶响应式编程
【录播】将我的界面歌单获取改为并发(24)

【录播】关于响应式编程的总结(2)

97
实现二维码相关
【录播】实现跳转到我的二维码界面(9)

【录播】实现我的二维码界面布局(16)

【录播】请求用户详情数据(3)

【录播】添加二维码框架(2)

【录播】生成二维码概述(5)

【录播】如何生成我的二维码(17)

【录播】测试扫描我的二维码(3)

98
实现扫码相关功能
【录播】实现跳转到扫描界面(9)

【录播】实现扫描界面布局(17)

【录播】扫描二维码实现分析(2)

【录播】实现扫描二维码(43)

【录播】实现二维码结果解析(16)

【录播】二维码实现总结(2)

99
实现商城相关功能
【录播】商城相关功能概述(9)

【录播】实现跳转到商品列表(8)

【录播】请求商品列表数据(10)

【录播】显示商品列表(9)

【录播】完善商品Cell功能(10)

【录播】实现跳转到商品详情(7)

【录播】实现商品详情布局(12)

100
实现商品和订单功能
【录播】请求商品详情数据(16)

【录播】如何创建订单(34)

【录播】修复自动退出问题(5)

【录播】创建订单后跳转到订单详情(7)

【录播】请求订单详情数据(6)

【录播】实现订单详情布局(19)

【录播】关联详情界面控件和方法(14)

【录播】显示订单详情数据(17)

101
如何实现支付宝支付
【录播】什么是第三方支付(3)

【录播】支付宝支付准备工作-服务端知识,客户端了解(12)

【录播】如何集成支付宝SDK(2)

【录播】使用测试数据发起支付(12)

【录播】请求支付宝支付参数(19)

【录播】如何监听支付宝支付结果(4)

102
继续实现支付宝支付
【录播】监听支付宝支付结果(25)

【录播】请求服务端判断是否支付成功(14)

【录播】支付宝支付客户端问题排查(2)

【录播】如何集成微信支付(3)

【录播】订单支付方式切换(5)

103
继续实现订单相关
【录播】实现跳转到我的订单界面(5)

【录播】请求订单列表数据(6)

【录播】显示订单列表(7)

【录播】完善订单Cell(13)

【录播】实现点击订单进入订单详情(6)

【录播】商城订单支付功能总结(3)

104
实现账号界面的设置功能
【录播】实现点击设置进入设置界面(7)

【录播】添加插拔耳机设置项(11)

【录播】实现插拔耳机停止音乐(15)

【录播】如何使用偏好设置(19)

【录播】关于用户设置的总结(3)

105
使用可视化实现关于我们
【录播】跳转到关于我们界面(7)

【录播】可视化实现关于我们界面(16)

【录播】显示应用版本号(15)

【录播】如何跳转到应用的AppStore地址(6)

【录播】使用WebView显示关于我们(3)

106
使用代码实现关于我们
【录播】跳转到关于我们界面(6)

【录播】如何安装自动布局框架(2)

【录播】使用自动布局完成界面(35)

【录播】完成关于我们界面(22)

【录播】完成关于我们界面逻辑(7)

107
如何拆分Storyboard
【录播】为什么要拆分Storyboard(4)

【录播】实现关于界面(10)

【录播】如何在代码中操作控件(4)

108
实现全局搜索控制器
【录播】全局搜索功能概述(4)

【录播】如何导入搜索框架(3)

【录播】创建搜索结果控制器(3)

【录播】如何显示搜索界面(16)

【录播】搜索结果界面如何监听搜索(7)

【录播】如何显示热门搜索数据(5)

109
继续实现搜索相关功能
【录播】查看搜索建议接口(3)

【录播】如何显示搜索建议内容(18)

【录播】如何对搜索建议限流(15)

【录播】搜索结果页面实现分析(4)

【录播】如何添加指示器框架(2)

【录播】创建歌单用户搜索结果控制器(3)

【录播】实现搜索结果页面框架(21)

110
完成全局搜索功能
【录播】子搜索结果控制器监听搜索内容(9)

【录播】调用歌单搜索接口(8)

【录播】显示搜索的歌单数据(5)

【录播】实现点击歌单进入歌单详情(2)

【录播】调用用户搜索接口(5)

【录播】显示搜索到的用户数据(9)

【录播】重构搜索结果展示控制器(10)

【录播】修复第一次搜索问题(15)

111
实现项目夜间模式
【录播】夜间模式实现概述(6)

【录播】如何实现夜间模式(8)

【录播】整理项目夜间模式颜色(6)

【录播】集成应用主题框架(2)

【录播】如何使用主题框架(9)

【录播】如何保存/恢复主题配置(14)

【录播】实现发现界面夜间模式(19)

112
继续实现夜间模式
【录播】TabBar控件夜间模式(5)

【录播】实现发现界面头部夜间模式(25)

【录播】实现发现Cell标题夜间模式(4)

【录播】实现发现界面歌单夜间模式(6)

【录播】实现发现界面单曲夜间模式(5)

113
完成夜间模式相关功能
【录播】播放状态图片夜间模式(12)

【录播】修复夜间模式下导航栏问题(3)

【录播】夜间模式功能总结和优化(1)

114
常用哈希和加密算法
【录播】什么是SHA1签名算法(4)

【录播】添加加密算法依赖库(3)

【录播】SHA1签名实现(13)

【录播】什么是AES加密算法(3)

【录播】AES加密解密实现(18)

115
如何让网络接口更安全
【录播】如何让接口更安全(4)

【录播】实现接口签名和加密概述(4)

【录播】跳转到接口签名和加密测试界面(10)

【录播】实现签名加密测试界面(10)

【录播】查看签名加密的接口(14)

【录播】实现订单列表响应签名接口(7)

【录播】创建修改网络响应插件(9)

116
继续实现接口安全
【录播】实现验证接口响应签名(14)

【录播】测试接口响应签名(11)

【录播】实现创建订单参数签名接口(11)

【录播】如何实现全局请求参数签名(14)

【录播】实现请求参数签名(7)

【录播】测试请求参数签名(4)

【录播】实现订单列表响应加密接口(8)

117
完成接口安全相关功能
【录播】实现解密接口响应加密(22)

【录播】实现创建订单参数加密接口(7)

【录播】实现请求参数加密(8)

【录播】接口安全功能总结和优化(7)

118
企业级项目日志解决方案
【录播】企业级日志解决方案简介(8)

【录播】如何集成日志框架(2)

【录播】初探企业级日志框架(20)

【录播】获取日志相关信息(10)

【录播】如何定制日志规则(11)

【录播】日志格式和自定义日志格式(4)

【录播】如何自定义日志格式(19)

【录播】如何使用日志Tag(17)

【录播】日志功能总结和优化(4)

119
如何集成腾讯Bugly服务
【录播】什么是腾讯Bugly服务(5)

【录播】在腾讯Bugly后台创建应用(4)

【录播】如何集成异常上报SDK(2)

【录播】初始化异常上报SDK(7)

【录播】测试异常上报功能(8)

【录播】iOS崩溃日志分析(9)

【录播】什么是符号表文件(5)

120
完成腾讯Bugly服务
【录播】Bugly如何配置符号表(2)

【录播】XCode如何生成dSYM文件(7)

【录播】如何查看dSYM文件的UUID(9)

【录播】手动生成符号表文件(9)

【录播】手动上传符号表文件到Bugly后台(5)

【录播】崩溃统计服务总结和优化(3)

121
如何使用极光统计
【录播】为什么要添加统计(13)

【录播】如何创建应用(2)

【录播】集成极光统计SDK(9)

【录播】添加页面统计事件(17)

【录播】添加登录统计事件(35)

122
完成极光统计功能
【录播】添加注册统计事件(31)

【录播】添加购买统计事件(15)

【录播】实现统计跳过广告统计(11)

【录播】统计相关功能总结和优化(2)

123
网络请求缓存
【录播】网络缓存功能概述(3)

【录播】如何实现网络请求结果缓存(3)

【录播】HTTP缓存知识(8)

【录播】Moya如何实现请求结果缓存(6)

【录播】网络缓存功能总结和优化(3)

124
即时通讯相关
【录播】聊天相关功能演示(21)

【录播】聊天概念和实现原理(6)

【录播】极光聊天SDK使用步骤(5)

【录播】集成极光聊天SDK(1)

【录播】初始化聊天SDK(8)

【录播】注册聊天账号(16)

【录播】聊天账号登录(7)

【录播】退出聊天账号(2)

125
继续实现聊天相关功能
【录播】实现跳转到我的消息界面(2)

【录播】测试聊天SDK是否集成成功(9)

【录播】获取会话列表数据(5)

【录播】显示我的消息列表(9)

【录播】完成会话列表Cell(25)

【录播】实现显示用户信息(4)

【录播】实现点击会话进入聊天界面(7)

126
增强聊天功能
【录播】完成聊天界面布局(25)

【录播】如何显示聊天的消息(4)

【录播】创建聊天消息Cell(19)

【录播】如何获取聊天历史消息(9)

【录播】实现聊天消息列表(21)

【录播】显示文本聊天消息(15)

【录播】实现发送文本消息(8)

127
继续实现消息发送
【录播】显示自己发送的消息(14)

【录播】如何滚动列表到底部(6)

【录播】如何接收发送来的消息(4)

【录播】聊天界面接收消息(5)

【录播】iOS如何显示通知(4)

【录播】实现iOS通知配置(15)

【录播】判断消息是否显示到通知栏(8)

128
完善聊天功能交互
【录播】显示聊天消息到本地通知(21)

【录播】实现点击聊天消息进入聊天界面(16)

【录播】实现选择图片功能(9)

【录播】创建图片消息Cell(15)

【录播】实现显示图片消息(22)

【录播】选择图片后发送图片消息(13)

129
实现增强聊天功能
【录播】应用中如何提示有消息(15)

【录播】实现TabBar显示消息未读数(35)

【录播】安装红点框架(3)

【录播】在我的消息按钮上消息未读消息数(17)

【录播】会话界面显示消息未读数(13)

【录播】如何显示iOS桌面角标(7)

【录播】即时聊天相关功能总结和优化(2)

130
项目其他信息配置
【录播】如何更改应用名称(3)

【录播】如何制作应用图标(5)

【录播】生成多尺寸图标(5)

【录播】应用图标替换(7)

131
真实项目中的最佳实践
【录播】真实项目中如何添加注释(6)

132
项目重构和修复Bug
【录播】修复iOS13数据库框架崩溃问题(41)

【录播】SpringBoot课程API区别(6)

【录播】更改项目网络相关功能(26)

【录播】更改接口签名加密功能(21)

【录播】修复Xcode12无法运行Bug(35)

【录播】内存泄露简介和检测泄露方法(23)

【录播】常见内存泄露场景以及解决方法(24)

133
如何加入苹果开发者计划
【录播】开发者计划简介和加入方法(12)

【录播】Apple ID如何启用双重认证(5)

【录播】D-U-N-S编号简介和查询(企业才需要)(12)

【录播】实战申请D-U-N-S编号(企业才需要)(7)

【录播】实战加入苹果开发者计划(4)

134
开发者后台相关功能使用方法
【录播】付费开发者账号使用方法(28)

【录播】常见开发者证书使用方法(16)

【录播】开发者后台创建Identifiers(4)

【录播】获取设备UUID和注册设备(11)

【录播】开发者配置文件使用方法(13)

【录播】后台用户访问和权限管理(9)

135
如何使用Universal Links相关功能
【录播】Universal Links简介和效果演示(19)

【录播】使用阿里云OSS搭建HTTPS页面(9)

【录播】实现配置Universal Links功能(7)

【录播】如何在代码中接收Universal Links(12)

136
微信登录相关准备工作
【录播】查看微信相关平台概述(8)

【录播】认证微信开放平台账号(6)

【录播】如何创建移动APP应用(11)

137
实现微信登录相关功能
【录播】升级ShareSDK相关版本(7)

【录播】实现微信第三方登录功能(17)

138
微信支付相关准备工作(服务端)
【录播】微信支付总体流程概述(19)

【录播】注册并开通微信商户平台(12)

【录播】应用和商户平台关联(12)

139
继续实现微信支付功能
【录播】实现调用微信支付SDK(33)

【录播】实现微信支付结果处理(25)

140
如何实现iOS推送相关功能
【录播】iOS推送简介和使用流程(11)

【录播】如何创建苹果推送证书(4)

【录播】开启推送权限和配置证书(14)

【录播】重构通知点击打开聊天界面(44)

141
应用打包和测试和查看崩溃日志
【录播】苹果应用常见分发方法简介(9)

【录播】如何使用Xcode打包iOS应用(31)

【录播】如何手动安装IPA到指定设备(8)

142
如何发布应用到App Store商店
【录播】App Store商店简介和发布流程(19)

【录播】App Store Connect后台简介(25)

【录播】在App Store Connect创建应用(36)

【录播】上传构建版本和提交上架审核(20)

143
如何使用TestFlight分发测试应用
【录播】使用TestFlight测试应用概述(7)

【录播】邀请内部人员测试和接受测试(15)

【录播】如何查看的崩溃和能耗和指标(16)

【录播】如何实现外部人员测试应用(10)

【录播】如何查看应用相关统计信息(6)

144
项目总结和后续学习计划
【录播】修复Xcode 13编译错误问题(12)

【录播】修复轮播图框架指示器问题(24)

【录播】这不是结束而是新的开始(5)
相关推荐
客服 关于