macOS 开发 - 入门笔记(转)


一、引言

用了三年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


六、优秀MacOS 开发博客


七、一些不错的Mac论坛

这些论坛混合Mac 的开发,和常用软件下载、使用技巧。

https://macosx.com


Mac 使用&软件下载


八、一些好用的工具

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 ApplicationDeveloper 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

猜你喜欢

转载自blog.csdn.net/glw0223/article/details/89459243