一.软硬件准备

MacOS电脑
Xcode软件,在AppStore中搜索Xcode并安装,安装过程比较长,需要耐心等待。

二.新建工程

打开Xcode,创建工程,选择macOS里面的App选项,点击Next

出现弹框后,输入Product Name,Organization Identifier,Language

Product Name,Organization Identifier可以自定义输入,Language选择Objective-C或者Swift

点击Next

三.运行程序

工程创建成功后,点击运行按钮,出现首页,基本的MacOS开发环境已经搭建好了。

四.代码结构

在工程左侧,我们可以看到工程的代码结构,AppDelegate是App启动的代理,在App启动过程中会调用applicationDidFinishLaunching方法。ViewController和Main.storyboard文件分别是首页的代码文件和布局文件,Assets是应用的icon存放的地方,main.m是App启动的入口函数。MacProject.entitlements是App的配置文件。

五.增加自定义代码

在默认生成的ViewController代码里面,我们修改为如下实现

- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.NSButton *button = [[NSButton alloc] initWithFrame:NSMakeRect(100, 100, 100, 40)];[self.view addSubview:button];button.target = self;button.action = @selector(buttonSelector:);
}- (void)buttonSelector:(id)sender
{NSLog(@"button clicked");
}

再次运行,就可以看到window窗口中出现一个按钮,点击按钮,即可触发对应的方法,控制台里面会出现button clicked日志。

六.进一步扩展

在实际开发过程中,我们会用到各种功能,可以使用第三方库辅助开发。比如下载图片我们可以使用SDWebImage,它提供了图片缓存和图片下载等功能,让我们的app加载图片更快,用户体验更好。为了进一步完成我们的工程,我们需要增加依赖第三方库的功能。我们需要用到cocoapods,一款使用ruby编写的依赖管理工具。

cocoapods安装

首先需要安装rvm,它用来管理ruby版本。执行以下命令

curl -L https://get.rvm.io | bash -s stable

如果报错,Failed to connect to http://raw.githubusercontent.com port 443: Connection refused,

再执行sudo vim /etc/hosts,加入这行(自行ping一下http://raw.githubusercontent.com,将IP替换)

199.232.68.133 raw.githubusercontent.com

重启命令行,

rvm install 3.0.0

rvm list known可以看到当前有哪些ruby版本可用。这里安装ruby的3.0.0版本,安装过程中会自动触发安装homebrew。homebrew是macOS下的包管理工具,安装过程可能会等待较长时间。

rvm和ruby安装完成后,在命令行中执行

sudo gem install cocoapods

如果这一步执行很慢或者没有反应,需要切换下ruby镜像源,命令行中执行

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

使用命令检查下镜像源有没有切换成功

gem sources -l

如果输出https://gems.ruby-china.com/说明已经切换完成了。

完成cocoapods安装后,执行命令

pod setup

这行命令会提示Setup completed,实际并没有安装完成,需要执行

git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk

clone的过程需要消耗较长时间。。。执行完成后,使用pod search AFNetworking试验下,如果能搜索到,说明执行成功了。

七.引入第三方依赖

配置好cocoapods,接下来就可以使用它来引入第三方依赖了。

在MacProject根目录下新建Podfile文件写入依赖代码

target 'MacProject' dopod "AFNetworking", "~> 4.0.0"
end

在MacProject目录下执行pod install命令,执行成功后,新的依赖AFNetworking就引入进来了。MacProject目录下多了MacProject.xcworkspace文件,使用Xcode打开它。工程目录下面自动增加了Pods目录,Pods里面就是我们刚刚在Podfile里面新增的依赖。接下来,我们就可以在主工程中,比如ViewController中引入AFNetworking中的头文件,进行相关功能开发了。

MacOS开发环境搭建相关推荐

  1. python ai应用开发_AI应用开发实战 - 从零开始搭建macOS开发环境

    AI应用开发实战 - 从零开始搭建macOS开发环境 联系我们 OpenmindChina@microsoft.com 零.前提条件 一台能联网的电脑,使用macOS操作系统 请确保鼠标.键盘.显示器 ...

  2. AI应用开发实战系列之二:从零开始搭建macOS开发环境

    AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/ 零.前提条件 一台能联网的电脑, ...

  3. MacOs Hadoop环境搭建 IDEA开发MapReduce程序及调试

    公司有个计算需求,由于不能通过连接公司的Hadoop集群进行本地编写MR程序进行调试 所以直接自己搭建一个本地Hadoop环境进行MR程序测试,然后再讲程序打包丢到公司Hadoop集群 别的不说,直接 ...

  4. macOS下GDAL Java开发环境搭建

    文章目录 macOS下GDAL Java开发环境搭建 GDAL源码编译安装 Maven安装本地JAR 使用Java版GDAL示例 版权声明:本文为博主原创文章,转载请注明原文出处! 写作时间:2020 ...

  5. Visual studio Code的C/C++开发环境搭建

    VS Code Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows . Linux和macOS等操作系统且开放源代码的代码编辑器,它支持测试,并内置了G ...

  6. C语言核心技术-C语言概述与开发环境搭建

    C语言概述 C语言发展简史 起源 1972年,贝尔实验室的Dennis Ritchie和Ken Thompson在开发Unix操作系统时设计了C语言,该操作系统的90%以上的代码都是由C语言实现,后期 ...

  7. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

  8. 【正点原子Linux连载】第三章 RV1126开发环境搭建 摘自【正点原子】ATK-DLRV1126系统开发手册

    1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692176265749 3)全套实验源码+手册+视频 ...

  9. 我的全栈之路-C语言基础之C语言概述与开发环境搭建

    我的全栈之路-C语言基础之C语言概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2.2 计算机软 ...

最新文章

  1. linux下 open() write() read() close函数
  2. SUMO 在LINUX 下安装以及环境变量的配置
  3. 笔记 - AliCloud Auto Scaling(弹性伸缩)简介
  4. BZOJ2752: [HAOI2012]高速公路(road)(线段树 期望)
  5. 图论相关算法理解和总结
  6. 2019年低延迟直播技术展望
  7. [组件] TopN 排行榜
  8. error和exception
  9. SpringBoot+Swagger整合API
  10. Java 线程分段查询数据,再整合排序
  11. paip.提升用户体验----c++ 源码字体自定义制造总结
  12. 恒生电子23届校招内推
  13. 来曲唑十二烷基硫酸钠/苯丁酸氮芥/层状双金属氢氧化物纳米杂化物
  14. python小白系列2
  15. UE4移动组件详解(二)——移动同步机制
  16. 关于HOOK,如何通过钩子截获指定窗口的所有消息 SetWindowsHookEx demo
  17. Smart-link 实验(超详细)
  18. 被各种注解搞晕了?那快来看看Spring Bean注解详解!
  19. Linux环境下安装Oracle 11g R2完整图文教程
  20. 区块链投资700元就能赚

热门文章

  1. pycharm在C盘创建.pycharm2019.3严重占用内存的解决方法
  2. 大数据面试 逻辑题
  3. IDEA的maven项目生成的文件详解 【.mvn、mvnw、mvnw.cmd、.gitignore、.iml、.idea、pom.xml】
  4. python爬虫多线程多进程示例
  5. 普中自动下载软件1.86下载程序失败案例
  6. redis的set数据类型相关命令介绍及使用
  7. Netflix、Disney常见流媒体视频平台对比
  8. 【优雅编程之道】之异常的6点建议
  9. 2019年工作总结及2020年工作展望
  10. 文件排序(用C语言描述)