macOS 开发 - 入门笔记
文章目录
一、引言
二、招聘信息
三、相关书籍推荐
1、《macOS应用开发基础教程》
2、《Cocoa入门:使用Objective-C》
3、非虫:《macOS软件安全与逆向分析》
4、官方开发文档
5、深入解析Mac OS X & iOS操作系统
6、OS X与iOS内核编程
7、Mac OS X For Unix Geeks
8、OS X系统管理和部署
四、视频教程
五、实用Demo
六、优秀MacOS 开发博客
七、一些不错的Mac论坛
Mac 使用&软件下载
八、一些好用的工具
png 转 icns
icons 生成
九、我的开发笔记(CSDN 博客目录)
1、基础UI控件
2、Dock、Window、状态栏、目录栏
3、文件管理等
4、视图效果
5、综合
6、网络&数据库
7、证书&打包
8、命令行
9、Mac 小技巧
10、Mac 系统知识
十、QQ群
一、引言
用了三年Mac,非常迷恋这个系统。想尝试写些自己的OS X App , 无奈资质较浅,网上资料并不多。
尝试搜索 MacOS 开发相关qq群、贴吧,发现常常只有一两个人。
因此在这里记录下搜集到的一些文章和资料,方便后来的感兴趣的人快捷学习。
下面资料主要针对已有 OC 基础的开发者,没有 OC 基础的,建议学习基础语法和控件后开始阅读下述材料。
二、招聘信息
这里是 macOS 程序员的招聘信息
https://www.jianshu.com/p/612af04bc456
https://www.lagou.com/jobs/list_mac ?labelWords=&fromSearch=true&suginput=
三、相关书籍推荐
1、《macOS应用开发基础教程》
纸质版(swift)地址:https://item.jd.com/12417409.html
电子版(oc&swift)地址:http://www.macdev.io
书的内容还挺全面,买书后加入qq群,群主和几个资深开发人士会为你解答很多问题,总的来说,书费80元不亏,省钱省时省力。
本人也从作者 剑指人心 这里学到很多东西,所以良心推荐。
2、《Cocoa入门:使用Objective-C》
pdf下载地址:http://download.csdn.net/detail/lovechris00/9854323
对本书翻译的相关博客:http://blog.sina.com.cn/s/articlelist_1576524975_0_1.html
个人说明:书籍比较陈旧,但知识体系齐全,适合入门参考。
3、非虫:《macOS软件安全与逆向分析》
这本书就讲的比较深入了,不建议初学者学习;有底层需求的同学后续可以阅读。
介绍:https://zhuanlan.zhihu.com/p/28008458
章节试读:https://github.com/feicong/macbook
4、官方开发文档
https://developer.apple.com/library/content/documentation/General/Conceptual/MOSXAppProgrammingGuide/Introduction/Introduction.html
5、深入解析Mac OS X & iOS操作系统
https://download.csdn.net/download/conghuoshu4927/10307556
6、OS X与iOS内核编程
https://download.csdn.net/download/zhangyutangde/10201936
7、Mac OS X For Unix Geeks
8、OS X系统管理和部署
四、视频教程
1、macOS开发从入门到精通(199元)
https://i.xue.taobao.com/detail.htm?spm=a2174.7765247.0.0.Q5FIrn&courseId=100614
2、Harry Ng 的 (英文)教程:
http://www.jianshu.com/p/c79ff411e983
3、代码行者的
http://www.jianshu.com/p/764bd7a4970e
4、Mac OSX 开发基础教程
http://study.163.com/course/introduction/1004170018.htm
5、macOS 应用开发进阶课
http://study.163.com/course/introduction/1005042030.htm
6、Mac精仿QQ实战课程
https://edu.csdn.net/course/detail/7033
7、AppleProgramming
https://www.youtube.com/user/AppleProgramming/videos
8、Cocoa Tutorials
https://www.youtube.com/playlist?list=PLE83F832121568D36
五、实用Demo
带图片效果的 demo 集合
有点类似 code4app
https://www.cocoacontrols.com/controls?platform_id=mac-os-x
Apple Open Source
https://opensource.apple.com
一些优秀开源项目
https://github.com/iCHAIT/awesome-macOS
Wanglei 关于基本控件的使用:
https://github.com/GitHubWanglei/macOS_AppKit_Demo
lianxu 搜集的 cocoachina 上的优质 demo
http://lianxu.me/code/
部分优质 github 用户demos
https://github.com/venj/Cocoa-blog-code
https://github.com/venj?tab=repositories
https://github.com/sjitech
https://github.com/yuedong56
https://github.com/sindresorhus
六、优秀MacOS 开发博客
悲观患者,分享mac开发达30篇文章
http://www.jianshu.com/u/ff347dd2364d
不在犯二的IT男
http://blog.csdn.net/lengshengren/article/category/6642427
谭颢
http://www.tanhao.me
lianxu
http://lianxu.me/
别被前面的英文吓到,后面都是中文。
森亮号航海见识:分类:Cocoa
http://see.sl088.com/wiki/分类:Cocoa
venj
https://www.venj.me
我的MacOS 开发简书文集:
这里是我搜集的简书上关于 macOS 开发的文章
http://www.jianshu.com/c/299375a4887f
afatgoat的博客
https://blog.csdn.net/cneducation
啃芝士
一个很不错的IT知识科普自媒体
https://www.kenzhishi.com/replay
Bruce :《Mac系统的日常使用技巧 》系列
https://www.xiebruce.top/category/mac
七、一些不错的Mac论坛
这些论坛混合Mac 的开发,和常用软件下载、使用技巧。
https://macosx.com
cocoachina
http://www.cocoachina.com
V2EX
https://www.v2ex.com
Learn Cocoa
http://cocoadevcentral.com
Mac志
https://www.isofts.org
cocoawithlove (国外)
http://www.cocoawithlove.com/archive/
Grivet-Tools
http://www.grivet-tools.com/blog/page/2/
MacRumors
https://forums.macrumors.com/forums/mac-programming.73/
Mac 使用&软件下载
MacGG:Mac 使用攻略
https://www.macgg.com
知乎专栏:Mac小技巧(马可菠萝)
https://zhuanlan.zhihu.com/p/36383162
Mac毒:Mac 使用技巧 & Mac 软件
https://author.baidu.com/home/1583497111996425?from=dusite_artdetailh5
利器
http://liqi.io/sponsorship/
麦克叉
https://www.macx.cn
简洁的看API 的网站
https://developer.xamarin.com/api/root/monomac-lib/
八、一些好用的工具
png 转 icns
下载地址:
http://www.cocoachina.com/bbs/read.php?tid=113763
icons 生成
介绍、下载地址
http://www.cocoachina.com/bbs/read.php?tid=290247
九、我的开发笔记(CSDN 博客目录)
这里是我根据网上找的文章和 demo,进行的一个较为系统的介绍,还在更新,代码主要为 OC。
我的 MacOS 开发入门笔记目录:
http://blog.csdn.net/lovechris00/article/category/6942446
1、基础UI控件
| macOS 开发 - Lable
| macOS 开发 - NSTextView
| macOS 开发 - NSTextField 使用 attributedStringValue
| macOS 开发 - NSView 添加鼠标监控
| macOS 开发 - NSTextField
| macOS 开发 - NSVisualEffectView
| macOS AppKit文档翻译 - NSImage
| macOS 开发 - NSImageView
| macOS 开发 - 系统图片
| macOS 开发 - NSImge格式转换/压缩(CIImage/CGImageRef/NSData)
| macOS 开发 - NSButton
| macOS 开发 - NSBezelStyle & NSButton(配图)
| macOS 上的 NSCell(比较 NSButton 和 NSButtonCell )
| macOS 开发 - NSButtonType
| macOS 开发 - NSButton - 勾选框(NSButtonTypeSwitch)
| macOS 开发 - NSTableView (纯代码)
| macOS 开发 - NSTabView
| macOS 开发 - NSAlert
| macOS 开发 - NSStepper
| macOS 开发 - NSSplitView
| macOS 开发 - NSSlider
| macOS 开发 - NSSegmentedControl
| macOS 开发 - NSPopover
| macOS 开发 - NSComboBox
| macOS 开发 - NSCollectionView & CNGridView
| macOS 开发- NSBox
| macOS 开发 - NSParagraphStyle
| macOS 开发 - NSProgressIndicator
2、Dock、Window、状态栏、目录栏
| macOS 开发 - NSWindow 的创建和跳转
| macOS 开发 - NSWindow 自定义样式
| macOS 开发 - NSWindow、NSWindowController、NSViewController 的关系和创建
| macOS 开发 - NSMenu 添加菜单栏
| macOS 开发 - NSStatusBar & NSStatusItem(状态栏)
| macOS 开发 - 窗口的关闭、重启
| macOS - NSDockTile设置Dock图标上的小红点
3、文件管理等
| macOS 开发 - FSEventStream(文件系统改变事件监控)
| macOS 开发 - NSWorkspace
| macOS 开发 - NSFileWrapper
| macOS 开发 - 添加 Document Type (注册文件打开方式)
| macOS 开发 - 压缩 zip
4、视图效果
| macOS 开发 - NSGradient
| macOS 开发 - isFlipped(坐标系)
| macOS 开发 - CGColor
| macOS 开发 - CGImageSource
| macOS 开发 - 画图与 iOS 的几点细节区别
5、综合
| macOS 给自己的 app 添加 URL Scheme
| macOS 开发 - 计算代码行数
| macOS 开发 - NSTask(调用命令行、APP 多开)
| macOS 开发 - 修改工程名
| macOS 开发 - 使用 safari 打开Mac应用
| macOS 开发 - 添加 Document Type
| macOS 选择照片、相机拍照(步骤详解配demo下载)
| macOS 开发 - NSDatePicker(日期选择)
| macOS 开发 - NSColorPanel & NSFontManager 选择颜色、字体
| macOS 开发 - NSUserNotification
| macOS 开发 - EventKit、EKReminder、EKCalendar(日历、提醒事项)
| macOS 开发 - 保存 EKEvent 到日历失败 No calendar has been set.
| macOS 开发 - NSPasteboard
| macOS 开发 - 使用 ScreenSaverView 制作屏幕保护程序
| macOS 开发 - 守护进程 Daemon
| macOS 开发 - ServiceManagement
| macOS 开发 - 使用 LaunchAgents 实现开机自启动
| Spotlight
| 使用 Ono 报错:Use of '@import' when C++ modules are disabled, consider using -fmodules and -fcxx-modul
| macOS 开发 - App Delegate 与storyboard、xib
| macOS - 使用 Sparkle 进行自更新
| macOS - 手动修改本地app的icon
| macOS 开发 - USB Prober
| macOS 开发 - 添加可执行程序 Command Line Tool
| iOS & macOS 导入/导出 Excel 数据
| macOS 开发 - 使用 safari 打开Mac应用
| QuickLook 插件
| UIApplication 对象
| macOS 开发 - 修改工程名
| macOS 开发 - BRLOptionParser
6、网络&数据库
| macOS 开发 - 使用AFN
| macOS - 搭建本地服务器
| iOS & macOS 导入/导出 Excel 数据
| macOS 开发 - 使用 route.h 报错 (Darwin.net.route)
| macOS 开发 - 代码实现ping : SimplePing 的使用
| macOS 开发 - 网络请求 PAC Fetch failed with error NSPOSIXErrorDomain:1
| macOS 开发- 使用 CFNetDiagnosticCopyNetworkStatusPassively 判断网络连接状态
| macOS 开发 - 使用 CNCopySupportedInterfaces 获取 WiFi ssid
| macOS 开发 - CoreWlan 获取 WiFi 信息 (CWInterface、CWChannel、CWConfiguration)
7、证书&打包
| macOS 开发 - 证书
| macOS 开发 - 打包 PKG
| macOS 开发 - 给 PKG 签名(productsign)
| macOS 开发 - 生成 dmg 文件 (步骤详解配图)
| macOS 开发 - Provisioning profile “xxx” doesn’t support the Network Extensions capability.
| macOS 开发 - 使用 Packages 打包失败:“build failed”
| macOS 开发 - Developer ID Application 和 Developer ID Installer 证书
| macOS 开发 - NSMicrophoneUsageDescription (10.14 mojave 权限问题)
| macOS 开发 - DiskImageMounter
| macOS 开发 - 错误代码 -36 (拖拽 app 到应用程序时)
| macOS 开发 - 无可装载的文件系统 image not recognized
| macOS 开发 - 描述文件安装失败 Provisioning profile does not allow this device.
| iOS 开发 - 证书 Not In Keychain / Missing private key for signing certificate(需要安装 p12 文件)
8、命令行
| macOS 开发 - 运行命令行
| Mac 命令 - systemsetup
| macOS - networksetup 命令
| Mac - otool
| macOS - security 命令
| Xcode - 使用 dyld 环境变量进行调试
| macOS - lsappinfo 命令
9、Mac 小技巧
| Mac 使用小技巧 - 开篇
| Mac 使用小技巧 - 设置文件默认打开方式
| macOS 开发 - 使用 fluid 将网页转为 Mac 应用
| mac 软件 - POSTGRESQL 数据库安装、使用、GUI工具
| mac 软件 - 安装MySQL
| Mac - icns 转 png/jpg
| macOS - POSTGRESQL 数据库安装、使用、GUI工具
| mac 软件 - Pycharm 安装、破解、使用、快捷键
| Mac下Brackets安装Emmet、Beauty插件详解
| mac下搭建Go语言开发环境详解(步骤配图)
| macOS - 安装 TensorFlow
| macOS 工具 - 数据库 Sequel Pro 使用
| macOS - 搭建本地服务器
10、Mac 系统知识
| macOS、iOS、Darwin、类 unix、POSIX
| kernel_task
十、QQ群
这里是我创建的 qq 群,希望能够把搜集的资料在群里分享,也分享技术和经验。感兴趣的可以加进来。
群号:644096295
你也用手机QQ可以扫描二维码加入
在 Mac 的开发过程中,你会欣喜的发现 iOS 的开发知识也可以用得上;
但更深入的时候,发现没有中文资料,外文资料也是寥寥无几;有时是从一些晦涩的外文文章中拼拼凑凑出一些思路来 —— 这个过程就像开荒。不要害怕,让我们一起征战吧!
---------------------
原文:https://blog.csdn.net/lovechris00/article/details/72779076