重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
ProducthuntOSX
赣州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
Mac 上开源的 Product Hunt OSX 客户端软件
GanHuoCode
干货集中营的第三方iOS客户端
ESTMusicPlayer
一款基于 DOUAudioStreamer 开发的一款优雅简洁的音乐播放器.
beautifulApp
用Swift做的一个高仿最美应用
Geofancy
The Geofancy iOS app. Helping you to get the best out of your automated home, geofencing, iBeacons at your hand.
CocoaChinaPlus
CocoaChina+是一款开源的第三方CocoaChina移动端。整个App都用Swift2.0编写(除部分第三方OC代码外,比如JPush和友盟)。
Dunk
Dribbble客户端
ganchai
干柴(客户端、服务端)
phphub-ios
PHPHub iOS客户端
高仿糯米
高仿糯米
知乎日报
用swift2.0实现的知乎日报iOS客户端
HackerNewsReader
Hacker News iOS客户端
以下是我整理的iOS开源App的一部分,其中不乏有许多不错的项目,后续更多都会整理在:iOS开源项目 - MobDevGroup上
iBBS-Swift
一款用Swift写的BBS客户端
SmallDay
用Swift 实现的高仿小日子
Swift-Radio-Pro
Professional Radio Station App, created w/ Swift 2.0
zulip-ios
Dropbox收购公司内部社交服务商Zulip,然后全部开源,这是iOS App
DesignerNewsApp
Build a Swift App as a designer
firefox-ios
Firefox for iOS
iphone-app
开源中国的iPhone客户端源码
Git@OSC
Git@OSC iPhone 客户端,方便用户查看Git@OSC的项目以及简单的操作issue等
Coding
Coding官方客户端 GitHub地址
Coding iPad版
Coding官方客户端
iOSSF
SegmentFault官方App
ioctocat
GitHub第三方客户端
iTunesPicker
类似AppStore的一个应用
Doppio
寻找最近的星巴克
swiftmi-app
swift迷 - 专业的Apple swift开发中文社区 app版本 采用Swift实现
Cheddar
一个日程管理的App
BeeFancy
仿Fancy官方APP的WIREFRAME,基于BeeFramework
Anypic
类似于Instagram的一款App
SXNews
模仿网易新闻做的精仿网易新闻
iReddit
Reddit iPhone客户端
readdit
Reddit iPad客户端
豆瓣相册
Slowslab iOS应用 豆瓣相册 精选集 开源项目
ChatSecure-iOS
Objective-C写的XMPP聊天应用
NotificationChat
Objective-C写的完整的聊天应用
Swift-ZhihuDaily
用Swift实现的仿知乎日报应用
FakeZhihuDaily
仿知乎日报iOS客户端
edhita
用Swift实现的iOS平台开源文本编辑器。
ruby-china-for-ios
RubyChina官方客户端
Meizi
豆瓣妹子图iOS客户端
HackerNews
用Swift写的Hacker News 阅读 iOS App
SwiftHN
另外一个用Swift写的Hacker News 阅读App
News-YC
Hacker News阅读类iOS App
twidere
twitter 第三方客户端
2048
用SpriteKit实现的2048游戏
PlainReader
一款 iOS(iPhone + iPad) 新闻类客户端,内容抓取自
swift-2048
用Swift实现的2048游戏
iOS-2048
用Objective-C实现的2048游戏
FlappySwift
用swift实现的flappy bird游戏
ECMobile_iOS
基于ECShop的手机商城客户端
kxmovie
用ffmpeg写的iOS视频播放器
wikipedia-ios
维基百科官方App, 已上架
Sol
漂亮的扁平风格的天气App
Project-RainMan
用Swift写的天气类App
SwiftWeather
用Swift写的天气类App
v2ex
v2ex第三方iOS客户端
V2EXClient
Swift实现的V2EX iOS客户端
VPNOn
VPN连接管理,支持Apple Watch,已上架
Monkey
GitHub第三方iOS客户端
JokeClient-Swift
基于swift,用糗事百科的API简单做了一个糗百客户端,可以浏览各种段子,浏览搞笑图片,查看精彩评论等.
Watch
Dribbble第三方客户端
MyOne-iOS
用OC写的《一个》 iOS 客户端
BaiduFM-Swift
百度FM swift语言实现
WNXHuntForCity
高仿城觅2.0 by-objective-c
Tomate
圆盘式计时器
eigen
The Art World in Your Pocket or Your Trendy Tech Company's Tote, Artsy's iOS app.
WWDC
WWDC app for OS X
分析一款ios应用的源代码方法如下:
1、首先提取整个应用文件的二进制代码,建立for循环将机器所有字符串进行排列组合并标记后编译。
2、再建立for将应用文件二进制代码同所有的字符串排列组合编译成的二进制文件进行对比。
3、最后通过标记就能找到应用的源代码。
您好,很高兴为您答疑,iOS11升级到iOS12没有什么好处,建议您不要去更新一般的苹果手机不要去升iOS系统,除非迫不得已。升高系统会使手机变的卡顿和用电快
iOS应用如何获取BigApp插件里定义的配置?
在LoadingVC中请求数据
各个参数的详细意义可能需要结合具体的功能再深入了解下。
这个首页信息的内容是需要自定义的,否则界面出来就是这个效果。
Tab的文字,图标也是在这边加载的,可以在BigApp配置页面修改。
相应的配置修改 (Todo)
工时:
MJRefresh 是著名开发者及培训讲师李明杰老师的作品,到现在在github已经有10000多颗star,真真是极好用的iOS下拉刷新(也支持上拉加载更)控件。本文主要素材来源有 正在学hybrid开发的iOS开发者 J_Knight 的文章和 github 上李明杰老师的用法介绍(主要是本文下部分)。
该框架的结构设计得很清晰,使用一个基类MJRefreshComponent来做一些基本的设定,然后通过继承的方式,让MJRefreshHeader和MJRefreshFooter分别具备下拉刷新和上拉加载的功能。从继承机构来看可以分为三层,具体可以从下面的图里看出来:
其中一条继承链是这样的
开发者一般使用场景是这样的:
作者 在类目 UIScrollView+MJRefresh 中运用运行时关联属性函数 objc_setAssociatedObject 和 objc_getAssociatedObject 对 UIScrollView 视图控件添加了 mj_header 、 mj_footer 等属性.
MJRefreshNormalHeader 是最下层的子类, headerWithRefreshingTarget 和 headerWithRefreshingBlock 是最上层基类 MJRefreshComponent 暴露出的静态快捷构造方法。把对象的创建下放到子类,此处明显用到了工厂方法。编译时类型 mj_header is classof MJRefreshHeader ,运行时类型 MJRefreshNormalHeader 是其子类,此处是典型的多态特性的应用。
即面向接口编码,而非面向实现编码。作者从最上层基类 MJRefreshComponent 即暴露接口
具体实现:
具体实现,首先来看一下该控件的基类:MJRefreshComponent:
这个类作为该控件基类,涵盖了基类所具备的成份:状态,回调block等,大致分成下面这5种职能:
监听的声明:offset、size、state
对于监听的处理:
从上面等结构图可以看出,紧接着这个基类,下面分为codeMJRefreshHeader/code和codeMJRefreshFooter/code,这里顺着codeMJRefreshHeader/code这个分支向下展开:
codeMJRefreshHeader/code继承于codeMJRefreshComponent/code,它做了这几件事:
初始化有两种方法:动作-目标/block块函数 做回调
通过重写codeprepare/code方法来设置header的高度:
通过重写placeSubviews方法来重新调整y值:
这里提供一张图来体现三个状态的不同:
这个类是codeMJRefreshHeader/code类的子类,它做了两件事:
给一张图,让大家直观感受一下这两个控件:
这个类通过覆盖父类三个方法来实现上述两个实现:
在这里,将每一个状态对应的提示文字放入一个字典里面,codekey/code是状态的codeNSNumber/code形式
这里主要是对codelastUpdatedTimeLabel/code和codestateLabel/code进行布局。要注意codelastUpdatedTimeLabel/code隐藏的情况。
在这里,根据传入的codestate/code不同,在codestateLabel/code和codelastUpdatedTimeLabel/code里切换相应的文字。
codeMJRefreshNormalHeader /code继承于 codeMJRefreshStateHeader/code,它主要做了两件事:
给一张图来直观感受一下这两个view:
同codeMJRefreshStateHeader/code一样,也是重写了父类的三个方法:
到此为止,我们已经从codeMJRefreshComponent/code到codeMJRefreshNormalHeader/code的实现过程看了一遍。可以看出,作者将codeprepare/code,codeplaceSubviews/code以及 setState: 方法作为基类的方法,让下面的子类去一层一层实现。
而每一层的子类,根据自身的职责,分别按照自己的方式来实现这三个方法:
这样做的好处是,如果想要增加某种类型的 header ,只要在某一层上做文章即可。例如该框架里的 MJRefreshGifHeader ,它和 MJRefreshNormalHeader 属于同一级,都是继承于 MJRefreshStateHeader 。因为二者都具有相同形式的 stateLabel 和 lastUpdatedTimeLabel ,唯一不同的就是左侧的部分:
还是提供一张图来直观感受一下:
下面我们来看实现:
它提供了两个接口,是用来设置不同状态下使用的图片数组的:
和MJRefreshNormalHeader一样,它也重写了基类提供的三个方法来实现显示gif图片的职能。
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 脚本(shell script),是一种为 shell 编写的脚本程序。在iOS开发中,我们通常编写一些自动化的脚本文件,来提高我们的生产效率,其本质就是通过Shell脚本对一些 xcodebuild , xcode-select , xcpretty , xcrun 等指令的封装。本篇文章,我们就针对 Shell 脚本的语法,做一些罗列,以辅助我们去完成一些自动化封装。
执行脚本
.sh 文件为 Shell 脚本文件格式,通过 sh 指令执行脚本文件
执行结果:
1.通过 echo 输出变量时,需要使用 $ 或者 ${} 修饰
2. (重点)定义变量时,等号之间不能有空格,不然会误认为变量为一个指令
3.可以直接修改 name 变量的值,即当前 name 默认为 readwrite 权限
4.我们给 _var 用 readonly 修饰后,再修改值会抛出异常
执行结果:
执行结果:
执行结果:
执行结果:
$@ 和 $* 都是输出所有参数,前者是 "$1" "$2" "$3" "$4" ,后者是 "$1 $2 $3 $4"
执行结果:
注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ] 。
关于文件检测运算符,这里还是都罗列一下吧,比较重要:
执行结果:
执行结果:
执行结果:
执行结果:
2.有参数
执行结果:
注意: $10 不能获取第十个参数,获取第十个参数需要 ${10} .
使用 man 查询 指令文档
比如我们想查看 xcodebuild 指令下都有哪些操作,直接在终端执行:
当我们不清楚某一个指令下的操作时,就可以通过 man 查询,然后辅助我们来编写 Shell 指令。
在iOS下,了解下这些 Shell 语法就足够了,已经可以帮助我们完成大部分的 Shell脚本 的编写或者阅读别人的 Shell 源码。不需要记忆,简单看下就可以。