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

训练机器学习模型

参考

相关推荐
2501_9159184118 小时前
如何在iPad上找到并打开文件夹的完整指南
android·ios·小程序·uni-app·iphone·webview·ipad
2501_915918411 天前
Wireshark、Fiddler、Charles抓包工具详细使用指南
android·ios·小程序·https·uni-app·iphone·webview
TheNextByte12 天前
如何将文件从Android无线传输到 iPad
android·ios·ipad
2501_915106322 天前
如何在iPad上高效管理本地文件的完整指南
android·ios·小程序·uni-app·iphone·webview·ipad
2501_915106322 天前
iOS 成品包加固,在只有 IPA 的情况下,能做那些操作
android·ios·小程序·https·uni-app·iphone·webview
Free Tester2 天前
在iPhone上显示点击屏幕点击的方法
功能测试·ios·iphone
AALoveTouch2 天前
某麦APP抢票技术解析实现
android·ios
2501_915909062 天前
苹果iOS应用上架详细流程与注意事项解析
android·ios·小程序·https·uni-app·iphone·webview
莫桐2 天前
微信小程序-ios环境下webview打开的h5页面replace跳转方式不生效问题
ios·微信小程序·小程序