搭建iOS开发环境

article/2025/10/31 16:06:59

1.准备

当前移动开发主要分为安卓开发和iOS开发,安卓是谷歌在2007年宣布开源的移动操作系统,iOS是苹果2007年发布的。两个系统出现的时间大致相同,在随后的十年间引领了移动开发浪潮。如今各种移动开发技术层出不穷,一些跨平台的技术也相继出现,比如React Native,Flutter等,但目前仍然没有取代Native开发的地位,在一些核心页面依然采用的Native方式开发,所以Native开发依然是必备的技能。如果想入门移动开发,安卓和iOS两者都是不错的选择,本篇文章介绍iOS开发的搭建。iOS开发最方便的是在macOS上开发,所以需要准备一台macOS电脑。

2.下载XCode

打开macOS电脑上App Store,搜索Xcode,下载,这个过程会比较长,耐心等待几天,不。。。等待几个小时。

下载完成后打开,可能会出现以下弹框,点击install.

image-20210404112331083

3.建立工程

打开Xcode,点击File-New-Project,然后点击iOS下面的App选项

image-20210404115000921

然后,在输入框中填入工程名称就可以了,Organization Identifier可以随便填写个,Interface保持默认的StoryBoard,Life Cycle保持默认的UIKit App Delegate,language根据需要选择,如果你熟悉Swift,可以选择Swift作为开发语言,这里我们选择Objective-C作为开发语言。

image-20210404115337053

4.工程目录

在写代码之前,我们先看看工程的目录结构

iOSProject工程目录下面,有AppDelegate,SceneDelegate,ViewController类。AppDelegate用来初始化根视图,SceneDelegate主要用来开发分屏设备,比如ipad,如果你仅仅开发iOS应用,不想做ipad适配,直接删除这个类就可以了,待会我们也会删除它。ViewController是控制器,它将是我们app的第一个页面,它包含了我们构建的UI和交互。Main.Storyboard可以作为首页使用,我们暂时不打算使用它,LaunchScreen.storyboard是启动开屏页面,作为入门开发,先不使用这个文件。Assets.xcassets用来存放app需要的各种图片资源。

5.代码编写

删除SceneDelegate.h和.m文件,需要点击Move to Trash选项

image-20210404122808833

打开info.plist文件,删除Application Scene Manifest,因为本篇入门介绍不涉及适配iPad分屏等场景,所以不需要这个配置。

image-20210404124016437

打开AppDelegate.h,加入window属性

@interface AppDelegate : UIResponder <UIApplicationDelegate>@property(nonatomic, strong) UIWindow *window;@end

打开AppDelegate.m,删除AppDelegate.m中两个方法,configurationForConnectingSceneSession和didDiscardSceneSessions

在顶部加入#import “ViewController.h”,引入头文件

在didFinishLaunchingWithOptions中加入window初始化代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];ViewController *controller = [[ViewController alloc] init];//为了看到页面效果,这里把背景颜色设置为蓝色controller.view.backgroundColor = [UIColor blueColor];UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:controller];self.window.rootViewController = navigation;[self.window makeKeyAndVisible];return YES;
}

打开ViewController.m文件,在viewDidLoad中加入代码,我们设置下这个页面的标题

- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.self.navigationItem.title = @"iOS页面";
}

6.启动工程

点击左上角选择设备,这里选择iphone12。点击三角形按钮,运行工程,此时工程已经可以在模拟器上运行起来了,在实际的开发中,我们也可以主要使用模拟器来完成开发,只有部分功能比如消息推送才必须使用真机。

7.进一步完善,安装cocoapods

前面6个步骤完成后,已经可以进行iOS开发了。在实际开发过程中,我们会用到各种功能,比如网络请求,下载图片等,这些功能使用iOS原生的api都可以完成,但是原生的接口功能不太好用。这时,我们可以使用第三方库辅助开发。比如下载图片我们可以使用SDWebImage,它提供了图片缓存等功能,让我们的app加载图片更快,用户体验更好。为了进一步完成我们的工程,我们需要增加依赖第三方库的功能。我们需要用到一个工具,cocoapods,它是使用ruby编写的iOS依赖管理工具。

cocoapods安装

首先需要安装rvm,它用来管理ruby版本。

执行以下命令

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

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

再执行sudo vim /etc/hosts,加入这行(自行ping一下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试验下,如果能搜索到,说明执行成功了。

8.引入第三方依赖

经历了漫长的时间,配置好cocoapods,接下来就可以使用它来引入第三方依赖了。

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

platform : ios, '9.0'target 'iOSProject' dopod "AFNetworking", "~> 4.0.0"
end

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

9.完成

iOS开发环境已经配置完成了,接下来可以进行iOS app开发了。


http://chatgpt.dhexx.cn/article/vZWTwTAQ.shtml

相关文章

HBuilderX App开发环境搭建

1. Nox 模拟器 1). 无脑式安装 Nox模拟器平板界面.png 2). 屏幕修改 点击右侧上方的设置按钮&#xff0c;在系统设置中选择手机版&#xff0c;点击保存并重启。 Nox设置界面.png 3). 端口设置 Nox模拟器默认端口&#xff1a;62001 2. HBuilderX 1). 点击右侧的Download&#…

模型部署,移动端安卓App开发环境搭建和配置教程 ~

点击上方“码农的后花园”&#xff0c;选择“星标” 公众号 精选文章&#xff0c;第一时间送达 在深度学习中&#xff0c;算法模型部署到移动端中应用是最终的目的&#xff0c;上期中讲解了App开发目前主要有以下三种方式&#xff1a; 第一种&#xff1a;Eclipse JDK Android…

安卓开发环境搭建

1.下载JDK 7&#xff08;1.7&#xff09;或者8 &#xff08;1.8&#xff09;SE 现在一般是8 安装 然后配置环境变量后 执行命令 javac 看看是否成功&#xff0c;java -version可以查看版本 oracle登录账号可用 oracle.com passwords - BugMeNothttp://bugmenot.com/vie…

Android app 开发环境搭建

Android app 开发环境搭建(AMD和intel环境下) 下载Anaroid studio 安装 选择你想要安装的Android Studio的功能。检查想要安装的组件&#xff0c;取消检查不想安装的组件。单击Next继续。 空间要求:2.3gb 配置 收集数据用于服务X 不安装SDK(自行下载) 个性化 选择…

Android APP完整基础教程(01)开发环境简介

该系列文章主要基于AndroidQ平台&#xff0c;主要介绍Android应用基础开发相关知识。主要针对安卓应用开发路径的完整解读 和 coding练习内容的解读。 1 Android 发展历史 1.1 Android 历史 2005年 Google收购了成立仅22个月的高科技企业Android公司。2007年 Google正式向外…

移动APP开发环境搭建(新手)

移动APP开发环境配置(新手搭建) 涉及到的配置工具 STS ( eclipse idea 一样的开发工具)java jdk : 是Java语言开发工具包&#xff0c;JDK是整个JAVA的核心&#xff0c;包括了Java运行环境ant &#xff1a;Ant是Java的生成工具&#xff0c;用来编译、生成&#xff1b;跨平台&…

JSON.

JSON JSON 指的是 JavaScript 对象表示法&#xff08;JavaScript Object Notation&#xff09;&#xff0c;是轻量级的文本数据交换格式 &#xff0c;使用 Javascript语法来描述数据对象&#xff0c;具有自我描述性&#xff0c;更易理解&#xff0c;但是 JSON 仍然独立于语言和…

JSONP 接口

1. 回顾 JSONP 的概念与特点 概念&#xff1a;浏览器端通过 <script> 标签的 src 属性&#xff0c;请求服务器上的数据&#xff0c;同时&#xff0c;服务器返回一个函数的调用。这种请求数据的方式叫做 JSONP。 特点&#xff1a; ① JSONP 不属于真正的 Ajax 请求&a…

Json接口代码生成工具-Json2Code

将接口的json文件转化为代码的工具&#xff0c;支持如下语言&#xff1a;C#,C,Dart,Go,Java,JavaScript,Kotlin,Objective-C,Python,Ruby,Rust,Swift,TypeScript Json2Code主要是为了解决前端在拿到后端swagger、postman等工具导出的接口描述文件的时候&#xff0c;大部分工作都…

Json 格式的接口测试该怎么做?

后端开发过程中&#xff0c;开发完毕后要进行必要的接口测试&#xff0c;很多人会疑惑 Json 格式的接口测试到底应该怎么做&#xff0c;为了让大家有个粗略的认识&#xff0c;这里我们运用 Eolink 接口工具来给大家演示一下 API 导入、对 API 进行测试以及更高级的 Mock 测试。…

http+json 格式的接口开发实践与思考

业务背景 最近一段时间&#xff0c;都在做接口对接&#xff0c;项目也差不多上线了&#xff0c;正好也总结下自己的想法和思考。 项目的主要目的是给我公司店铺的店长、员工、和业务品牌领导提供一个入口&#xff0c;可以很方便直观地看到店铺之间&#xff0c;员工之间的一些…

基于json文件创建后端模拟接口

json-server有很多接口&#xff1b;目的&#xff1a;基于一个json文件就可以创建很多的后端模拟接口&#xff1b; &#xff08;1&#xff09;先创建一个json文件&#xff1a; &#xff08;2&#xff09;然后下载nodejs&#xff1a;下载 | Node.js 中文网 注意&#xff1a;下…

SpringBoot接口接收json参数

1. 创建入参实体&#xff1a; package com.hsm.ls.application.test.domain;/*** Created by lfx on 2018/12/19.*/ public class ActiveRequest {private String sid;private String biz;private String text;public String getSid() {return sid;}public void setSid(String…

JSONP接口

概念&#xff1a;浏览器通过<script>标签的src属性&#xff0c;请求服务器上的数据&#xff0c;同时服务器返回一个函数的调用。这种请求数据的方式叫JSONP 特点&#xff1a;JSONP不属于真正的的Ajax请求&#xff0c;因为它没有使用XMLHttpRequest这个对象 JSONP仅支持G…

java 调用接口为json格式

#simple 直接上代码 ①pom文件导入hutool的war包 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.10</version></dependency>②new JSONObject(); 对象&#xff0c; put你所需要的…

『前端必备』本地数据接口—json-server

文章目录 json-server介绍简介操作步骤 操作数据增&#xff08;POST&#xff09;删&#xff08;DELETE&#xff09;改&#xff08;UPDATE、PATCH&#xff09;查&#xff08;GET&#xff09;筛选分页排序切片(分页)特殊符号添加_gte或_lte获取范围添加_ne以排除值添加_like到过滤…

接口接收JSON数据

1. 使用场景&#xff1a;定义接口供对方调用。请求数据为JSON格式&#xff0c;请求方法为post&#xff0c;请求参数如下&#xff1a; { "num":" 1600330803432", "comCode": "feisu" } 2. 接口接收方法 ResponseBody public Ba…

JSON和API接口初识

首先认识一下JSON JSON官网&#xff1a;http://www.json.org/json-zh.html JSON是一种数据格式&#xff0c;是一种在互联网传输中运用最多的数据交换语言&#xff0c;由于它轻便、灵巧&#xff0c;且能从各种语言中完全独立出来&#xff0c;所以成为目前最理想的数据交换语言…

Java数据接口编写简单例子,Java Json解析,服务端接口输出Json数据,客户端通过HTTP获取接口Json数据

实现效果 实现原因 目前主流的CS结构&#xff0c;数据都是通过RESTful风格接口形式呈现&#xff0c;不管是桌面级应用程序还是手机端&#xff0c;接口是我们获取数据的大多数选择&#xff0c; 主流数据接口呈现形式主要是Json和Xml&#xff0c;后者目前基本渐行渐远。Json的轻量…

json接口(使用,以及自定义)

json使用 在spring boot中&#xff0c;返回一个数组,哈希表&#xff0c;spring boot会自动将List,HashMap转化为json,因此不要自定义转化。 如果自定义转化&#xff0c;后端会爆出一个警告&#xff0c;并且前端出现500&#xff08;404&#xff09;&#xff0c;无法访问。因此…