iOS App 开发攻略

安装 Xcode

App Store 安装即可

创建项目

创建 iOS 类型 App,选 SwiftUI 格式。输入项目名称,会在选中目录下创建两个与项目同名嵌套文件夹。

复制代码
.
├── StudyTakesTwo
    ├── StudyTakesTwo
    │   ├── Assets.xcassets
    │   ├── ContentView.swift
    │   └── StudyTakesTwoApp.swift
    └── StudyTakesTwo.xcodeproj
        ├── project.pbxproj
        ├── project.xcworkspace
        ├── xcshareddata
        └── xcuserdata
  • ContentView.swift:页面视图
  • StudyTakesTwoApp.swift:启动入口,会自动在项目名称后面加上 App
  • Assets.xcassets:App 的资源管理中心(图片、颜色、图标),包括:定义 App 在手机桌面显示的图标、SwiftUI 默认使用的主题色
  • StudyTakesTwo.xcodeproj:Xcode 工程配置文件(一个 bundle 包目录,在访达中被合并成了一个文件,需要 右键 → 显示包内容 打开),告诉 Xcode:这个项目有哪些源代码、怎么编译、生成什么 App、用什么 Bundle ID、Target、Build Settings
    • project.pbxproj:最核心,记录了哪些 .swift 文件属于这个 App、哪些资源文件要被打包、Target / Scheme / Build Phases、编译选项(Swift 版本、iOS 最低版本)
    • xcuserdata/:用户私有

正确的 .gitignore 文件:

复制代码
# Xcode
DerivedData/
*.xcuserstate
*.xcuserdata
*.xcscheme
xcuserdata/
xcshareddata/

# macOS
.DS_Store

.xcodeproj 需要被提交

编译运行

点击 Run 或者左边小三角或者 Command + R 运行

会调出模拟机运行软件

可能遇到的问题

需要同时模拟 2 台手机

选中手机后,打开新的 Simulator

修改 Info.plist

Information Property List(Info.plist)是描述应用身份、能力和权限的系统级配置清单,系统在启动和运行应用时会严格按照它来执行。

Xcode 在某个版本后把 Info.plist 从文件目录中移除,现在需要在 UI 里面配置。

在这里面点击右键添加或者选中某一项点击加号添加即可,新添加的值除了在 Custom iOS Target Properties,还会出现在:

  1. 项目目录自动生成的一个 Info.plist 文件中

需选择 "Open As" -> "Source Code",以查看和编辑原始 XML 代码:

出现如下代码:

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>
</dict>
</plist>
  1. 出现在 TARGETS - Build Settings 的 Info.plist Values 中

注:

如果未来删除掉目录的 Info.plist,要把 Build Settings - Info.plist File 删掉为空,否则会因为找不到 Info.plist 而编译失败。

在真机上测试

由于加入开发者计划 699 每年才能在 App Store 上架自己 App,故先在本机上测试

步骤:

  1. 连接电脑和手机
  2. 在 Product - Destination 中把设备选为自己手机
  3. 运行,会提示手机尚未开启开发者模式
  4. 在手机设置 - 隐私与安全性中打开开发者模式
  5. 重新编译运行,软件成功安装到手机

可能遇到的问题

编译版本与手机 iOS 版本不匹配

我下载的是 Xcode 26,手机版本是 iOS 18。系统提示要么手机升级,要么 Xcode 降级。但其实不用重装 Xcode 版本。可以直接在 Xcode 中设置部署版本。

方法一:

方法二:

两个地方修改了一个另一个也会同步修改

附录

Product 菜单讲解

Run

编译并运行 App

Test

运行单元/UI 测试

Profile

性能分析(耗时、内存)

Analyze

静态代码分析

Archive

打包发布用,生成一个正式安装包(.ipa)

Build

只编译,不运行

Clean Builder Folder

清空编译缓存

Build Document

生成代码文档

Destination

运行环境(Simulator 或真机)

Scheme

编译 & 运行方案

Scheme 勾不勾选 Shared 区别

不勾选:

Scheme 只存在于自己电脑上,是自己本地用的启动方案,位置:StudyTakesTwo.xcodeproj/xcuserdata/你的用户名.xcuserdatad/xcschemes/,不会被 Git 提交

勾选:

Scheme 变成"项目公共 Scheme",是这个项目官方的启动方案,位置:StudyTakesTwo.xcodeproj/xcshareddata/xcschemes/,会被 Git 提交,其他人打开后就能 Run,不用新建 Scheme

Developer Tool 工具说明

Instruments

性能 / 内存 / 卡顿分析工具

Simulator

iPhone 模拟器

Icon Composer

制作 App 图标

Reality Composer Pro

AR / 空间计算内容编辑器

Accessibility Inspector

无障碍检查工具

FileMerge

文件对比工具

Create ML

训练机器学习模型

参考

相关推荐
传奇开心果编程3 小时前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift
可乐鸡翅yeah_8 小时前
M3U8 防盗链 URL‑Token 签名,新手开发实操避坑
开发语言·javascript·ios·音视频·safari
海拔网络软件开发公司14 小时前
同城信息发布软件开发案例:整合家政、搬家、招聘与地图找房服务
软件开发·小程序开发·系统开发
传奇开心果编程16 小时前
【SwiftUI入门练中学】第17课 通知与后台任务
学习·ui·ios·swiftui·swift
yqj23420 小时前
ESP32-S3中小智项目优化内容
ide·macos·xcode
ii_best1 天前
按键精灵手机端开发安卓版实战:手写一个可最小化、可拖动的「运行日志悬浮窗」(附完整 源码 + 踩坑记录)
android·ios·智能手机·自动化·ai编程·按键精灵
美狐美颜SDK开放平台1 天前
Android与iOS直播APP美颜有什么区别?视频美颜SDK开发详解
android·ios·音视频·视频美颜sdk
传奇开心果编程2 天前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift
万岳科技程序员小金2 天前
AI赋能智慧医疗:互联网医院系统源码与智能医院APP开发技术方案
软件开发·app开发·互联网医院系统源码·医院小程序开发·医院app开发