UI组件
jcavar/refresher:一个常用的下拉即刷新列表工具类,提供开放接口定制刷新动态变换效果。
ariok/BWWalkthrough:让你的页面切换动起来,示例效果杠杠的。作者还提供了比较完整的开发文档及示例解说。
vikmeup/SCLAlertView-Swift:动画效果弹出框封装库(管理于 CocoaPods),使用也足够方便。试着运行了一下,效果还不错。
varshylmobile/MapManager:地图管理封装库(默认支持Google和Apple地图服务)。
varshylmobile/LocationManager:位置管理封装库(默认支持 Google 和 Apple 地图服务)。
neoneye/SwiftyFORM:表单输入框架(亮点是表单验证规则引擎),是我见过地最易用的 Swift 表单组件。
ortuman/SwiftForms:这个表单递交库简单实用,支持主要数据类型及定制。快速开发利器。
kentya6/KYCircularProgress:这个进程条类库实现及使用都很简单,支持进程路径的定制,灵活方便。
coolbeet/CBStoreHouseRefreshControl:这个下拉刷新库,提供完全可定制进度变换效果,且极具艺术感。建议有能力的同学把 Objective-C 版本改写为Swift版本。
kevinzhow/PNChart-Swift:PNChart 的 Swift 版实现。PNChart http://t.cn/zRWXJCZ 是饼图、折线图、柱状图等常用可视化图表工具类库。开发者:@周楷雯Kevin
exchangegroup/Dodo:一款轻量地可定制信息栏小组件。包含 success, info, warning 及 error 类型消息展现。提供基本的按扭及事件绑定。
codestergit/SweetAlert-iOS:该弹窗控件设计简单直接,功能完整,动画效果恰如其分。实在不可多得,必须收录。
Ramotion/animated-tab-bar:一款灵动的动画标签栏类库。可在 storyboard 中直接使用,非常方便。Demo 效果非常漂亮。连续三天 GitHub 分类排名第一,且迅速过 600 星。它的代码并非复杂或特别,相信大家中意它的还是其设计感。
Ramotion/paper-switch:类库实现了当 Switch 组件开/关切换时,平滑过渡到父视图的变换效果功能(核心类继承了 UISwitch)。P.S. 该开发者也是这几天热门项目 Ramotion/animated-tab-bar 的作者。
FahimF/FloatLabelFields: 基于"Float Label Pattern"的内嵌浮动标签输入效果 Swift 版实现类库。
cemolcay/ReorderableGridView:可以拖拽排列 Grid 框格的 UI 组件。功能说明完整,使用方便,应该是一个不错的 UI "轮子"。
zhxnlai/ZLBalancedFlowLayout:一个通过调整 cell 大小来利用空间的 UICollectionViewFlowLayout 子类。
uacaps/PageMenu:分页式菜单控制及动态页视图切换。这款控件比较实用,且提供 CocoaPods 安装。
Yalantis/Side-Menu.iOS:一款带动画效果可定制 Slide Menu,可以学习其动画实现思路。P.S. 对于 Hamburger 式菜单,虽然很常用,不过,苹果并不鼓励使用,甚至有开发小组对其弊病用自家上线应用前后数据对比进行了抨击,仅做参考。
Mozharovsky/CVCalendar:开源 Swift 版日历组件及示例。该项目开发者充分使用了面向对象设计思想,让开发者可以更容易扩展及定制功能。同时,该开发者还提供了详细的组件使用方法(Storyboard 和代码方式指南)。
dekatotoro/SlideMenuControllerSwift:这是一个侧滑菜单弹窗 UI 组件,它提供高度可定制参数及完整示例。另外,组件代码集中,易用,仅一个核心类 SlideMenuController.swift 。
rhcad/ShapeAnimation-Swift:功能强大、使用简单的矢量动画框架。支持多层级,多形状,渐变以及各种常见的动画变化效果。绘图核心基于该作者另一个近期很火的开源项目 schwa/SwiftGraphics。
raulriera/TextFieldEffects:具有不同输入风格及变化效果的标签和文本框组件库。它的原型来自 codrops 的 JS/CSS 项目。P.S. 我曾经还推荐过另一款基于 "Float Label Pattern" 风格类似项目 FloatLabelFields,与之一样优秀。
MengTo/Spring:不仅具有极简制作动画的 API ,还提供 Demo 界面调试动画效果,并生成相应代码。建议同学们在 Xcode 中运行体验一次,相信这个开源项目足够让你惊艳。已将其收入《Swift 开源项目精选》。
icanzilb/SwiftSpinner:这个图文结合进程条功能完整,整体效果还很酷。当然,使用也很简单。值得收录。
michaelbabiy/RMParallax:在应用启动时,提供简单帮助向导步骤的界面组件及示例程序。
ggamecrazy/LoadingImageView:简单实用的异步图片加载类库及示例。使用方便,功能独立、完整(离线存储也在计划中)。
pixyzehn/MediumScrollFullScreen:上下滚动时,全屏显示内容,并自然消隐上下菜单。由此项目感知,作者是一位很注重细节的开发者,他的另外几个菜单类项目也都不错,值得参考,比如:PathMenu, MediumMenu 等。
MoZhouqi/KMPlaceholderTextView:可显示多行 placeholder 的 textView,实现逻辑简单、巧妙。
prine/ROStorageBar:存储器使用情况指示条组件,显示参数丰富,易于使用。开始以为它也包含了计算功能,可惜并没有,只是一个纯界面的小组件。不过,仍然有一定的实用性。
Yalantis/Persei:动画隐藏或显示顶部菜单支持库及示例项目。P.S. Yalantis 这个开发商,在 GitHub 上展示开发能力,Dribbble 上展示交互设计能力,并在 Behance 推广项目。整体展现了其出众的软件过程管理及综合开发实力。非常值得国内开发者学习。
KyleGoddard/KGFloatingDrawer:一款适合于大屏手机或平板的浮动抽屉式导航界面组件。效果很赞。
zemirco/swift-linechart:功能完整、实用的折线图组件。使用方便,参数配置简单。是不可多得的优质组件。
khawars/KSTokenView:带搜索、快捷输入、分段显示关键词的增强输入组件。作者提供了丰富地配置参数。主体功能同群发短信时选择、编辑好友群。
andreamazz/GearRefreshControl:这款下拉刷新动画是我所看到最没违和感的一个。
micazeve/MAGearRefreshControl:同样是下拉即刷新,看看人家花了多大的心思写代码。另一位开发者也实现在类似动画效果 andreamazz/GearRefreshControl,可以感受一下编程的多变性。
gali8/Tesseract-OCR-iOS:OCR 文字识别也有相应 iOS 项目。虽然是 Objective C 版,不过,提供 CocoaPods 三方库引用。与 Android 版师出同门。属于主流开源项目。
Akkyie/AKPickerView-Swift:AKPickerView O网页链接:一款小而美的 3D 效果选择器。P.S. 作者分别提供了 CocoaPods 和 Carthage 两种方式的三方接口对外引用和指南,Carthage 获得越来越多主流开发者重视了。
danielgindi/ios-charts:一款优秀 Android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Objective-C。P.S. 当然 @周楷雯Kevin 同学的 PNChart-Swift 也不容错过,同学们可以各取所需比较使用。
scotteg/LayerPlayer:一款全面展示核心动画 API 示例项目(上架应用)。包括 CALayer, CAScrollLayer, CATextLayer, AVPlayerLayer, CAGradientLayer, CAReplicatorLayer, CATiledLayer, CAShapeLayer, CAEAGLLayer, CATransformLayer, CAEmitterLayer 等使用的互动演示。RayWenderlich 有针对该项目的 撰文解读(中译文 By @TurtleFromMars),与开发者 Scott Gardner 的 视频讨论。
ReactiveCocoa/ReactiveAnimation:“ReactiveCocoa 推出了一个叫 ReactiveAnimation 的子项目,直接用完全用 Swift 来实现了。国外开发者社区就是拽啊! By @图拉鼎”。
larcus94/BRNImagePickerSheet:图片或视频选择器(可多选)组件及其示例项目。P.S. 作者推荐低藕、非侵入式三方库依赖引用方案 Carthage,从 iOS 8 开始,越来越多开发者推荐 Carthage 做为标配了。
JayGajjar/JGTransitionCollectionView:基于集合视图扩展实现完成自动布局及单元项 Flip 式动画效果(效果很赞)。组件使用方便、自然(只需设置集合视图数据源的标准方式即可)。
knutigro/COBezierTableView:通过编辑 Bezier 曲线四点位置设置 TableView 内 Cell 及对应按扭位置。实验效果很赞。#为开源点赞#
jozsef-vesza/ExpandingStackCells:采用 UIStackView 实现表格单元格扩展内容显示示例及解决方案。
szk-atmosphere/SAHistoryNavigationViewController:通过继承 UIViewController 并扩展 UICollectionView,UINavigationController,NSLayoutConstraint 等界面及布局控制核心类,应用内模拟实现 iOS 任务管理界面及切换组件。
szk-atmosphere/SABlurImageView:支持渐变动画效果的图像模糊化类库。P.S. 与前几天推存类库 SAHistoryNavigationViewController 是同一位作者。
cocoatoucher/AIFlatSwitch:一款带平滑过渡动画的 Switch 组件类。记得之前收录过两款相同风格的 Hamburger - Menu/Close 和 Hamburger - Menu/Back。都是精细之作。
GabrielAlva/Swift-Prompts:一款漂亮、实用的提示弹窗。使用简单,参数定制完整,还支持窗口拖拽操作。
inFullMobile/WobbleView:当界面组件过渡时,带波纹摆动效果的组件扩展实现类及示例项目。
cjwirth/RichEditorView:一套可定制富文本编辑器组件及示例。功能完整、代码简练、实现逻辑巧妙(编辑器核心与 WebView 结合,采用 HTML5 contentEditable 编辑模式,执行JS 配套命令 execCommand 实现富文本编辑功能)。
SemperIdem/MKMapView-Extension:“在用 MapKit 的时候发现MKMapView缺少了极其重要的 ZoomLevel 这一个功能,因此便参照了网上的一些OC例程写了一个Swift版本的扩展,允许开发者获取当前地图的缩放级别和设置缩放级别。By @星夜暮晨”。
didierbrun/DBPathRecognizer:基于路径模型的手势识别工具(仅一个核心类)。妙处在于作者通过示例项目设置好 A-Z 字母的路径模型后,可以进行相应的手写识别。尽管它可能无法替代专业的手写识别输入,不过对于普通的手势识别还是搓搓有余了。
Yalantis/GuillotineMenu:正如其项目名字一样,这是一款极具创意及突破精神的动画演示项目。P.S. 这家公司(Yalantis)做动画,尤其界面特效出神入化。且 iOS / Android 通吃。
aryaxt/ScrollPager:一款小巧、易用的页滚界面组件。结合 storyboard 及滚动视图,轻易实现拖拽页滚功能。
wltrup/iOS-Swift-Circular-Progress-View:小而精悍地可定制类似 Apple Watch 圆型进程条组件。该组件同时支持代码及 Interface Builder 两种使用方式。
haaakon/SingleLineShakeAnimation:用一行代码给视图加上抖动效果。
indragiek/MarkdownTextView:非常轻量、简洁、高效的 Markdown 编辑组件及示例。这样的开源项目太喜欢了。
nickoneill/PermissionScope:向用户请求 iOS 权限的封装组件。封装库 API 调用非常方便,调用代码也很精简。一个很好的“轮子”,值得收录。
zhxnlai/UIColor-ChineseTraditionalColors:中国传统颜色引用 UIColor 扩展。“UIColor.桃红(),UIColor.竹青() ...”,如此引用是否感觉亲切多了。P.S. 好的项目,源于用心,技术次之。这位同学已经深谙其道了。
zhxnlai/ZLSwipeableViewSwift:多变的卡片切换转场动画封装类库。
FlexMonkey/ShinpuruLayout:通过水平和垂直分组模块实现简单、快速布局的组件库。作者提供了多种不同类型的布局示例。
ziligy/JGFlipMenu:Flip 式菜单及其对应动画组件。使用也很简单直接 Interface Builder 。赞不赞自己看。
Draveness/DKChainableAnimationKit:高可读、链式代码风格动画框架库。
icanzilb/EasyAnimation:又一款使用简单、功能强大的动画类库。
andreamazz/BubbleTransition:以气泡膨胀和缩小的动画效果来显示切换界面。代码实现很简单,效果很突出。
KittenYang/KYFloatingBubble:实现iOS7 Game Center浮动气泡的一种思路。示例代码不多,效果还真得赞。
i-schuetz/SwiftCharts:基于层架构设计思想的图表类库。基于层架构,无论定制新的图表类型还是已有图表的叠加,都变得非常的容易。
tristanhimmelman/ZoomTransition:通过手势操控图片的放大、缩小、旋转等自由变化效果的组件及示例。
Yalantis/PullToRefresh:刷新动画可定制的下拉数据请求更新组件(类库非常简洁易用)。该组件由知名开源开发商 Yalantis 开发,并且还提供了完整动画定制演示项目 PullToMakeSoup
mikaoj/BSImagePicker:图片多选组件。接口简单,使用很方便。
skywinder/GaugeKit:模拟实现 Watch 风格运动进程表盘示例。P.S. 顺附 Watch 另一个圆型进程条参考项目 iOS-Swift-Circular-Progress-View
wongzigii/Butterfly:一款轻量、优雅的缺陷报告及反馈组件。与应用集成极为简单(仅需 2 行代码)。这个“轮子”实在太实用了,强烈推荐。附演示示例动态图。作者:@Wongzigii
测试相关
kylef/Mockingjay:在单元测试时,模拟匹配条件的任意 HTTP 请求,该类库集成于 XCTest 框架内。是一套不可多得的快速开发工具库。
practicalswift/swift-compiler-crashes:旨在收集使 Swift 编译器崩溃的测试用例。这是一个疯狂又非常有意义的开源项目。可以定期关注一下。P.S. 该开源项目作者最新提示:Xcode 6.3 beta 与 Swift 1.2 已修复了其已发现编译器崩溃级缺陷的 83% 。
czechboy0/Buildasaur:自动测试 GitHub Pull Requests,以提高团队生产力。Buildasaur 安装条件:Xcode 6+, Xcode Server 4+ 和 GitHub 仓库证书。
czechboy0/XcodeServerSDK:非官方 Xcode Server SDK 封装库。 P.S. 该 SDK 分离自之前推荐的由该作者开发的自动测试框架 Buildasaur。
realm/SwiftCov:Realm 开发的 Swift 代码测试覆盖率命令行工具。大家可以用用看,试试效果如何?
<a id="examples"></a>2. 示例项目
- 官方示例:"比起 GitHub 上的开源项目来说,官方的代码我觉得是更有参考价值的,比如 Session 406 的代码,Lister,就用一个 Swift 实现的包含 OSX 和 iOS 的" By @晨钰Lancy
- 官方示例 - Lister:“Lister 这个官方 demo 也跑起来了。Apple 还是很用心的,不仅做了 iOS、Mac 和 Apple Watch 版本,并且为这个 demo 分别用 Objective-C 和 Swift 实现了一遍,最后还配了整整 30 页的文档!By @图拉鼎”。官方示例一份顶十份,学走路从官方文档及示例开始。
- tsunghao/learn-swift:该项目是 nettlep/learn-swift 项目的(正体)中译版。最难能可贵的是原项目最后更新是 6 个多月前了。而中译项目已经更新至 Xcode 6.2(6C131e) ,且下一版(Swift 1.2)正式发布后,作者还会继续更新。
- VirtualGS教程示例:以下示例程序来源于林泰前老师微博或博客发布,为方便大家学习 Swift 编程,有幸获得林老师的准许在这里发布。
- Easy-Cal-Swift:"实在忍不了 Swift 的数字计算时候的好麻烦的强制转换了,重载了一下加减乘除之类的操作符,这样就不用显式地转换类型了...(对于像我这样现在连补全都没有的孩子来说,能省好多时间啊- -)" By @onevcat
- An app to list the available fonts on iOS:用 Swift 语言调用 UIKit,列出设备内所有字体名称的小程序。
- Swift版的知乎日报:学习一门新语言,光看是没有用的,想要快速的掌握它,就得投入到真实项目的开发中,仿照 @YANGReal 的糗事百科,做了一个 Swift 版的知乎日报
- Swift RSS Sample:用 Swift 语言开发的 RSS 阅读器
- Swift版PM2.5的例子:一个很好的 Swift 与 Objective C 协同工作 GitHub 开源项目。用到的开源类库有 TFHpple:以 XPath 方式解析 HTML,SCLAlertView:使用 Swift 写的 AlertView SVProgressHUD 进度条 By @荧星诉语
- lexrus/LTMorphingLabel:实现文字飘入飘出的效果。效果非常赞!
- android1989/CharacterText:相比lexrus/LTMorphingLabel 的各种酷炫效果,这个版本比较简单实用。
- practicalswift/Pythonic.swift:用 Swift 语言实现 Python 标准库的一部分。然后,用 Swift 写一段 Python 风格的程序,这是 Python 程序员想要的吗?相信这不过是一个实验,以此说明 Swift 语言的多变性、动态性的能力。
- AshRobinson/GoogleWearAlert:Swift 语言实现模拟 Google Wear 风格 Alert 窗口。
- rafaelconde/ios8-ui-kit:IOS 8 UI KIT + FOR SKETCH — 最新IOS8免费设计资源
- gemtot/iBeacon:Swift 版 iBeacon 简单项目(支持最新Beta 6编译)。感兴趣的同学可以学习一下。有关于 Passbook 应用及 Passkit 框架编程知识这里有一篇网友较早发布的《iOS 6 - PassKit 编程指南》
- evnaz/ENSwiftSideMenu:一个简单的 Slide 侧拉菜单实现。使用很方便:sideMenu = SideMenu(sourceView: self.view, menuData: ["UIDynamics", "UIGestures", "UIBlurEffect"])
- iluuu1994/Pathfinder:一个有趣的算法类项目。虽然目前只是个演示项目,不过,作者有计划加入更多算法优化程序,同时,也有计划支持3D地图。
- KhaosT/HomeKit-Demo :HomeKit 演示项目,可以与HomeKit模拟器协同工作。由此进一步思考:HomeKit 配合 iBeacon、蓝牙,甚至更具DIY潜力的树莓派(Raspberry Pi)组成未来家居智控中心,这个方向上的开发潜力巨大。感兴趣的同学可以关注一下。
- mathewsanders/Animated-Transitions-Swift-Tutorial:结合 Xcode 开发步聚介绍如何开发动画过渡 Prototyping Animatted Transition in Swift(Part I)
- mathewsanders/Custom-Menu-Transition-Swift-Tutorial:结合Xcode开发步聚介绍如何开发动画过渡 Transition in Swift(Part II)](http://mathewsanders.com/custom-menu-transitions-in-swift/)
- vandadnp/iOS-8-Swift-Programming-Cookbook:来自《 O'Reilly's iOS 8 Swift Programming Cookbook》的配套示例。书买不买另说,如此即时、完整、丰富的新书示例项目真不多见。悟性好的同学,开发时参考一下示例是不是就不用买书了?
- ide/UIVisualEffects:Swift 实现模糊化等视觉效果示例代码。代码详见这里
- sxyx2008/FoodPin:如此完整的 Swift 示例项目,可以帮助学习到不少Swift编程技巧。"用Swift写的一个功能比较完善的App,参照 Beginning iOS 8 Programming with Swift 一书。功能比较完善。AutoLayout、Core Animation、Core Data、国际化等。" By @荧星诉语
- PhotoBrowser:"展示 Instagram 授权用户发布的照片的 App,参考了Ray Wenderlich 的 Alamofire 教程,还用了 SwiftyJSON 和 FastImageCache。" By @Kyrrr
- dekatotoro/SlideMenuControllerSwift:这是一个侧滑菜单弹窗 UI 组件,它提供高度可定制参数及完整示例。另外,组件代码集中,易用,仅一个核心类 SlideMenuController.swift 。
- mslathrop/SwiftNote:一款简单的笔记应用及其 Today 插件。可惜开发者还不知道如何与 iCloud 进行数据同步,有兴趣的同学可以参与一下。
- gcollazo/mongodbapp:实现在Mac系统菜单栏上快捷启动/停止 MongoDB 的 Swift 项目。代码简单、易读,且核心代码全部在 AppDelegate.swift
- 441088327/SYKeyboardTextField:“开源一个我自己写的键盘附随输入框,为Swift做些贡献”。 作者:@余书懿
- dasdom/BreakOutToRefresh:下拉加载刷新时,嵌入了用 SpriteKit 框架写的有趣的小游戏播放页。P.S. 此例中作者嵌入的或许并没有让你耳目一新,甚至感到有点牵强,不过,若嵌入更合适的呢?
- eleks/rnd-apple-watch-tesla:Apple Watch 操作 Tesla 汽车。可惜是 Objective C 版本的,否则,Swift 同学又是一次很好的学习机会。
- kenshin03/Cherry:定时器应用,功能包括在手表上新建活动,启动/停止活动,持久化活动数据在 iPhone,在 Glances 中查看活动状态并可直接切换至该应用。P.S. 该应用由作者之前开发的 Objective-C 项目采用 Swift 重写后获得。
- slazyk/SINQ:该项目把来自 C#和VB 的 LINQ 集成查询功能吸收了进来。是不是又一次证明了 Swift 吸纳各语言精华的能力很强大,是不是又一次向"大一统"的编程/编译环境迈进了一步?
- MengTo/DesignerNewsApp:一款针对 Designer News 网站的完整 iOS 应用,最具特色地是开发者对动画技术得心应手的应用。P.S. 该开发者发布过一套非常完整、实用的优秀动画封装库及演示工具 Spring。
- MoZhouqi/VoiceMemos:“语音笔记本应用。用到了一些 iOS 8 新技术,比如 UISplitViewController、UISearchController、UIAlertController、自定义 Presentations、可视化开发,还有一些语音相关的用法。界面开发的新技术介绍可以参考 @onevcat 的 这个帖子”。
- schwa/TimingFunctionEditor:贝塞尔曲线编辑器,编辑后可以预览或拷贝代码片段直接使用。P.S. 该项目采用更简单的依赖管理器 Carthage。
- CarlosButron/Swift:60 多个 Swift 示例项目及代码集锦,技术及品类几乎涉足方方面面。
- lizyyy/Homeoff:“用swift写了一个模仿Launcher通知中心快捷方式的应用。支持 20 个应用,并增加了一个返回到桌面来解放Home键的功能 By @Swift攻略”。
- MakeZL/ZLSwiftRefresh:下拉刷新/上拉加载组件扩展及示例。“支持自定义动画,集成简单,兼容 UITableView,CollectionView,ScrollView,WebView”。
- philcn/Auto-Layout-Showcase:几项常用自动布局技巧示例代码及演示。搭建简单应用够使了。
-
FlexMonkey/MetalParticles:超强计算、极致渲染,发挥 GPU 最高效能 Metal 框架演示项目。P.S. Metal 框架是并驾于 OpenGL ES 的底层图形计算接口。相比于 OpenGL,它甚至更底层、更接近 GPU。它是需求超强计算及渲染性能要求的游
戏平台不二之选。 - Mav3r1ck/Project-RainMan:一款很酷的天气预报应用。Forcast.io 提供的天气预报 API 很赞。
- kongtomorrow/WatchTransition:模拟 Apple Watch 上的动画过渡效果。Objective-C 和 Swift 混搭开发学习参考。
- jessesquires/JSQWebViewControlle:一款轻量的 WebKit 浏览器视图控制封装库(使用 WKWebView)。
- radex/DiffyTables:提供在 WatchKit 应用中有效使用表格的实例。完整实现思路作者已经撰写长文 Practical and efficient WatchKit tables with view model diffing。充分理解该文章作者推荐阅读 Reducing WatchKit Traffic With View Models
- WWDC 2015 watchOS应用示例:1. Lister(大家比较熟了); 2. PotLoc:使用 CoreLocation 定位;3.WatchKitMoviePlayer: 使用 WKInterfaceMovie播放视频。
- The-Swift-2.0-Programming-Language-playground:“自己整理的对应最新发布《The Swift Programming Language》Swift 2.0 一书中的内容的Playground,基本在Playground中包含了书中描述的知识点 By @孟祥月”。
- alskipp/Swift-Diagram-Playgrounds:面向协议的编程示例 Playgrounds 。P.S. 编程技术真是日新月异啊。
- jstart/UIStackView-Playground:采用 UIStackView 平铺式自动布局演示示例 Playground。#为开源点赞# P.S. 顺附 UIStackView 官方文档译文 By @潇湘TT。
- phpmaple/Stick-Hero-Swift:“开源小游戏Stick-Hero,和大家一起学习Swift2和Spritekit,基础功能完成,后续添加一些细节方面设计 By @KooFrank”。#Swift 2#
<a id="projects"></a>3. 完整项目
- WWDC app for OS X:去年还只是一个会后的脑补演示项目。而今年已然成为追剧观看的超实用项目。连编译都懒得做的同学直接下载应用即可。
- fullstackio/FlappySwift:用 Swift 语言实现的 FlappyBird
- JakeLin/SwiftWeather:天气预报iOS项目,新界面还不错,简单,还带点卡通的味道
- akeFiveInteractive/WeatherMap:基于地图的天气预报(上架)应用。比较适合长途自驾游的同学。
- tnantoka/edhita:edhita 是一款用 Swift 重写并完全开源的文本编辑器。AppStore 上已经有更新版下载。试用后感觉还不错。它甚至支持 Markdown, HTML 等文件编辑后的预览显示。
- jurre/TravisToday:一个功能相对完整的服务于 Travis CI 系统的 OS X 应用扩展 Today 项目案例。
- stakes/Frameless:一款基于 WKWebView 的最小化全屏浏览器,主要功能是方便开发者采用HTML5做原型设计或 App 发布。对于测试工程师或喜欢极简、全屏浏览用户,可以直接在AppStore下载使用。
- mozilla/firefox-ios:Swift 写的 iOS 版 Firefox。P.S. 第三方库用到了 Alamofire, Snappy, swift-json 等,内置阅读器还使用了 Readability。
- lexrus/VPNOn:一款驻在通知中心内的基于 Today 扩展的 VPN 开关应用。
- victor/whereami:一款用 Swift 语言写的通过命令行获得当前设备地理位置程序。虽然很简单,不过,实用性及学习性俱佳。
- Ahmed-Ali/RealmObjectEditor:Realm 数据库 Swift 版开源编辑器。提供针对实体,属性及关系的编辑功能,完成后可以将实体结构导出为 Swift, Objective-C 或 Java 类模型。非常实用。
- jpsim/DeckRocket:在相同 WiFi 网络环境内,通过 iPhone 控制并播放 Mac 中的 PDF 文档。ft 编译器崩溃的测试用例。这是一个疯狂又非常有意义的开源项目。可以定期关注一下。P.S. 该开源项目作者最新提示:Xcode 6.3 beta 与 Swift 1.2 已修复了其已发现编译器崩溃级缺陷的 83%。
- Carthage/Carthage:更简单的方式来管理 Cocoa 第三方框架。有了 CocoaPods 为何还要使用 Carthage,作者在 README.md(中译) 已经做了充分说明。
- artsy/eidolon:艺术品拍卖的投标亭平台。作者提供了一个很励志的开发故事:从商业创意到最终实现。心路历程从不开源到开源,从 Objective-C 到 Swift(去年夏天的事,现在当然是 Swift),以及选择时髦的反应式编程框架 ReactiveCocoa……
- mortenjust/androidtool-mac:“一款用 Swift 写的可在 Mac 上使用的 Android 工具, 支持一键截屏, 视频录制, APK 安装等功能”。
- lexrus/JSCoreDemo:“演示了一下怎样在 Swift 里用 JavaScriptCore 把原生功能桥接给 JS 用,代码少很容易理解”。简单、易懂的基础演示代码。P.S. 希望进阶学习的同学,这里有一个完整项目供参考 RichEditorView:基于 HTML 5 的可定制富文本编辑器组件及示例。
- gilesvangruisen/Swift-YouTube-Player:用不了的同学就当学习吧。或参考并试着写个 Swift-(...)-Player。
- Imperiopolis/WatchScreenshotMagic:快速生成干净、漂亮的 Apple Watch 截图的实用工具应用。
- beltex/dshb:OS X 系统状态(CPU、电池、内存、温度传感器、风扇及杂项)监视器应用。每秒刷新文本界面,极低系统开销。
- nscoding/sleep-osx:在 Spotlight 中输入 sleep 即休眠你的 Mac。实现特别简单,几行代码而已。
- dasdom/Tomate:这个圆盘式计时器让你更专注于工作或学习。P.S. App Store 上架收费应用(0.99 欧),开发者福利呀。
<a id="project_reviews"></a>3. 项目评测
- 【Workflow 测评】Workflow 是款什么软件?(作者:@JailbreakHum):"除了圣诞降价以外最近最火的软件话题应当是 #Workflow# 了。如果你没接触过此类软件,或许会纳闷它有何魅力。我们针对这款软件的测评系列的第一篇就是来向你概述它是什么软件的,所以文中给出大多是基本知识,不过相信也会给老手一定的启发。"
<a id="tools"></a>相关工具
1. 开发工具
- Xcode 6 beta下载:苹果应用集成开发环境。支持 C/C++, Objective C, Swift 等。不用购买开发者计划,直接下载。
- Textmate:Mac OS X 上一个可高度自定义的编辑器,尤其在我想做出一个快速改变但又不想等待 Xcode 加载的时候。该工具目前已经开源
- Mou:OS X 上一款 Markdown 的编辑器。非常适用于编写自述文件、变更日志以及其他方面的内容。作者:罗晨
- Sublime Text ($):Mac OS X 上另一款非常受欢迎的轻量级,可高度自定义的编辑器。
- RunSwift:正在犹豫是否入手苹果电脑开始一段 Swift 编程旅程的同学们,或仅仅为了试验一段简单 Swift 代码又懒得打开 Xcode,可以试试这款 Web 版 Swift 编译环境 RunSwift。
- InfinitApps - Bezel:“嫌 Xcode 6 目前提供的 Watch 模拟器不够直观?Bezel 是一个用于视觉预览 WatchKit 所开发程序效果的小工具,前提是你安装了 xScope 软件(Mac端)或 xScopeMirror(iPhone端)。 By @WatchKit开发”
- Markdown -> Playground:该开源项目可将内含有 Swift 代码的 Markdown 自动转换为 Xcode Playgrounds 文件。喜欢用 Markdown 编辑的同学很激动吧。P.S. 这款工具写于 NodeJS,原因作者有交待。
- iOS/Mac Autolayout Constraints:这个工具不错,很直观,布局时可以省不少工夫。推荐者:@荧星诉语
- 在线生成 AppStore 审核用截图:便捷的生产力工具。免费,易操作,可自定义。
2. 代码管理
- GitHub:声望日盛的资源分享之地。�
- GitHub for Mac:一个设计的非常美观的 git 客户端,不能取代你从命令行获得的所有功能,但使用起来非常简单。
- GitCafe:GitCafe is a source code hosting service based on version control system Git。国内的代码托管服务,基于 Git,值得一提的是最近也推出了和 GitHub Pages 类似的服务 Gitcafe Pages。因为是在国内,所以相比较 GitHub 有速度优势,在网络环境差的情况下也许可以作为 GitHub 的备用。
- Bitbucket:国外的代码托管服务,不同于 GitHub 的是,Bitbucket 可以免费建立 private 项目。
- Git:分布式版本控制系统和源码管理系统,其优点是:快和简单易用。对于新手来说,可在此查看免费电子书籍。
3. Xcode 插件
- CocoaPods:第三方库的管理利器,允许你简单地把第三方库整合进自己的应用中。对我个人来说,我基本上每个项目都使用 CocoaPods。
- CocoaPods Xcode Plugin:一款 Xcode 插件,允许你直接从 Xcode 管理 CocoaPod 依赖。
- onevcat/VVDocumenter-Xcode:快捷注释 Xcode 插件。By @onevcat
- ColorSense:一款显示颜色数值的插件,还可以直接通过系统的ColorPicker来自动生成对应颜色代码
- Xcode 优秀插件整理:持续保持整理更新的 Xcode 插件整理 By @ddapps
- CodeEagle/SwiftCodeSnippets:自动下载指定 Xcode Snippet 源的 Xcode Plugin。项目缺省提供 Snippet 代码源 burczyk/XcodeSwiftSnippets 。
- realm/SwiftLint:Realm 采用 Swift 编写的基于 GitHub's Swift Style Guide 规则的检查工具。除了命令行运行方式,也提供集成 Xcode 的方法。对于新团队,这样的工具可以自动约束大家遵循编程规范。
- XCode 升级后插件失效的原理与修复办法:由一条命令引发的分析文章。@_TongJZ
- feinstruktur/CoPilot:通过此插件,Xcode 可以协同编程了(采用 WebSocket 通讯)。如此强大的“黑工具”,不爱它能行吗。演示视频
4. 管理工具
- HomeBrew:OS X 上非常出色的包管理工具。
- Transmit ($):一个Mac OS X 上 FTP 客户端,有着非常漂亮的用户界面和有用的功能。
5. 调试工具
- mattt/fuckingclangwarnings.com:警告与语义对照表。以后再也不用为 Xcode 各种警告纠结啦!By @foogry
6. 参考文章
- iOS 开发工具:"这是我们多篇 iOS 开发工具系列篇中的一篇,此前的文章比如:那些不能错过的 Xcode 插件,iOS 开发者有价值的工具集,iOS/OS X 开发:各种工具快到碗里来!,App 原型设计工具使用心得(上)& App 原型设计工具使用心得(下),你用哪种工具进行 iOS app 自动化功能测试?iOS 开发者必知的 75 个工具" By @CocoaChina
- IOS 各种调试技巧豪华套餐:讲得很细。对于初学 Xcode 开发的同学值得参考,对于有经验的同学可以略过。作者:@David戴未来
- 详解Xcode 6的视图调试:教程非常实用,值得学习。另外,教程选用的开源项目(jessesquires/JSQMessagesViewController)也很经典。来源:Ray Wenderlich,译者:@CocoaChina 翻译组
7. 示例项目
- ViewSource(Swift+Objective-C):通过 iOS 8 Extension 实现让 Web 工程师喜欢的"显示网页源代码"。
- indragiek/Unzip:浏览ZIP文件的 iOS 8 Action 扩展。
8. 实用资源
- google/material-design-icons :对于喜欢 Material Design 风格的同学,这是难得好资源。Google 提供了极为完整的各种图标(包含 iOS 各种精度及 SVG)设计资源。
- 全唐诗数据库:SQLite 数据库脚本。