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

训练机器学习模型

参考

相关推荐
游戏开发爱好者81 天前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
黑码哥1 天前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
2501_915106321 天前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
2501_915106321 天前
使用 Sniffmaster TCP 抓包和 Wireshark 网络分析
网络协议·tcp/ip·ios·小程序·uni-app·wireshark·iphone
熊猫钓鱼>_>1 天前
移动端开发技术选型报告:三足鼎立时代的开发者指南(2026年2月)
android·人工智能·ios·app·鸿蒙·cpu·移动端
徐同保2 天前
通过ip访问nginx的服务时,被第一个server重定向了,通过设置default_server解决这个问题
ios·iphone
程序员鱼皮2 天前
刚刚,Claude Opus 4.6 和 GPT-5.3-Codex 同时炸场!AI 编程要变天了
计算机·ai·程序员·互联网·软件开发
2501_915918412 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
2501_916007472 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
夏幻灵3 天前
HTTPS全面解析:原理、加密机制与证书体
ios·iphone