要运行设备之前先选择好设备

Product---->Destination---->选择设备

首次运行手机提示

如出现 “未受信任的企业级开发者”
→ 手机打开 设置 ▸ 通用 ▸ VPN与设备管理 → 信任你的 Apple ID 即可

ContentViewSwiftUI 项目最顶层、最主界面 的那个“页面”,相当于:

  • Flutter 的 MyApp()MaterialApp(home: …)

  • Android 的 MainActivity

  • Web 的 index.html

✅ 一句话理解:

ContentView 就是你 App 打开后第一眼看到的界面。

🏗️ 它长什么样?

新建 SwiftUI 项目时,Xcode 会自动生成下面这个文件:

// ContentView.swift
import SwiftUIstruct ContentView: View {var body: some View {VStack {Image(systemName: "globe").imageScale(.large).foregroundStyle(.tint)Text("Hello, world!")}.padding()}
}
  • struct ContentView: View → 声明这是一个视图(界面)

  • body → 描述界面的内容(文字、图片、按钮等)。

  • 默认显示一个地球图标 + “Hello, world!” 文字。

🧩 它在哪被用到?

YourAppNameApp.swift 里:

@main
struct MyFirstApp: App {var body: some Scene {WindowGroup {ContentView()   // ← 这里决定启动时显示谁}}
}

🛠️ 想改界面?

直接改 ContentView.swift 里的 body 就行。比如:

Text("Hello, world!").font(.largeTitle).foregroundColor(.red)

保存后按 ⌘R 跑真机,手机界面立即更新。


✅ 总结一句话:

ContentView 就是 SwiftUI App 的“首页”,你所有界面都从它开始。

Info.plist 是 iOS App 的“身份证+使用说明书”,告诉系统“我是谁、能干嘛、需要什么权限”。

  1. 在 Xcode 左侧导航栏找到 Info.plist → 双击即可图形化编辑

  2. 或在 Flutter 项目:ios/Runner/Info.plist 用 VS Code / Xcode 改都行

  3. 改完 ⌘S 保存 → ⌘R 重新跑真机即刻生效

类别举例字段作用
身份识别CFBundleIdentifier(Bundle ID)App 的唯一包名,如 com.mycompany.myapp
展示信息CFBundleDisplayName桌面图标下方的名字
版本号CFBundleShortVersionStringApp Store 向用户显示的版本(如 1.2.3)
权限弹窗文案NSCameraUsageDescription首次调用相机时,系统弹出的提示文字
系统能力开关UIRequiredDeviceCapabilities声明必须支持的功能(如需要陀螺仪、ARKit 等)

🛠️ 常见场景示例

想改 App 名称

<key>CFBundleDisplayName</key>
<string>新名字</string>

想访问相机必须加

<key>NSCameraUsageDescription</key>
<string>拍照用于头像上传</string>

Flutter 项目网络白名单

<key>NSAppTransportSecurity</key>
<dict><key>NSAllowsArbitraryLoads</key><true/>
</dict>

123

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917045.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917045.shtml
英文地址,请注明出处:http://en.pswp.cn/news/917045.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务 02

一、网关路由网关就是网络的关口。数据在网络间传输&#xff0c;从一个网络传输到另一网络时就需要经过网关来做数据的路由和转发以及数据安全的校验。路由是网关的核心功能之一&#xff0c;决定如何将客户端请求映射到后端服务。1、快速入门创建新模块&#xff0c;引入网关依赖…

04动手学深度学习笔记(上)

04数据操作 import torch(1)张量表示一个数据组成的数组&#xff0c;这个数组可能有多个维度。 xtorch.arange(12) xtensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])(2)通过shape来访问张量的形状和张量中元素的总数 x.shapetorch.Size([12])(3)number of elements表…

MCU中的RTC(Real-Time Clock,实时时钟)是什么?

MCU中的RTC(Real-Time Clock,实时时钟)是什么? 在MCU(微控制器单元)中,RTC(Real-Time Clock,实时时钟) 是一个独立计时模块,用于在系统断电或低功耗状态下持续记录时间和日期。以下是关于RTC的详细说明: 1. RTC的核心功能 精准计时:提供年、月、日、时、分、秒、…

Linux 进程调度管理

进程调度器可粗略分为两类&#xff1a;实时调度器(kernel)&#xff0c;系统中重要的进程由实时调度器调度&#xff0c;获得CPU能力强。非实时调度器(user)&#xff0c;系统中大部分进程由非实时调度器调度&#xff0c;获得CPU能力弱。实时调度器实时调度器支持的调度策略&#…

基于 C 语言视角:流程图中分支与循环结构的深度解析

前言&#xff08;约 1500 字&#xff09;在 C 语言程序设计中&#xff0c;控制结构是构建逻辑的核心骨架&#xff0c;而流程图作为可视化工具&#xff0c;是将抽象代码逻辑转化为直观图形的桥梁。对于入门 C 语言的工程师而言&#xff0c;掌握流程图与分支、循环结构的对应关系…

threejs创建自定义多段柱

最近在研究自定义建模&#xff0c;有一个多断柱模型比较有意思&#xff0c;分享下&#xff0c;就是利用几组点串&#xff0c;比如上中下&#xff0c;然后每组点又不一样多&#xff0c;点续还不一样&#xff0c;(比如第一个环的第一个点在左边&#xff0c;第二个环在右边)&#…

Language Models are Few-Shot Learners: 开箱即用的GPT-3(四)

Result续 Winograd-Style Tasks Winograd-Style Tasks 是自然语言处理中的一类经典任务。它源于 Winograd Schema Challenge(WSC),主要涉及确定代词指的是哪个单词,旨在评估模型的常识推理和自然语言理解能力。 这个任务中的具体通常包含高度歧义的代词,但从语义角度看…

BGP高级特性之认证

一、概述BGP使用TCP作为传输协议&#xff0c;只要TCP数据包的源地址、目的地址、源端口、目的端 口和TCP序号是正确的&#xff0c;BGP就会认为这个数据包有效&#xff0c;但数据包的大部分参数对于攻击 者来说是不难获得的。为了保证BGP免受攻击&#xff0c;可以在BGP邻居之间使…

商旅平台怎么选?如何规避商旅流程中的违规风险?

在中大型企业的商旅管理中&#xff0c;一个典型的管理“黑洞”——流程漏洞与超标正持续吞噬企业成本与管理效能&#xff1a;差标混乱、审批脱节让超规订单频频闯关&#xff0c;不仅让企业商旅成本超支&#xff0c;还可能引发税务稽查风险。隐性的合规风险&#xff0c;比如虚假…

Anaconda的常用命令

Anaconda 是一个用于科学计算、数据分析和机器学习的 Python 发行版&#xff0c;包含了大量的预安装包。它配有 conda 命令行工具&#xff0c;方便用户管理包和环境。以下是一些常用的 conda 命令和 Anaconda 的常见操作命令&#xff0c;帮助你高效管理环境和包。1. 环境管理创…

JVM之【Java虚拟机概述】

目录 对JVM的理解 JVM的架构组成 类加载系统 执行引擎 运行时数据区 垃圾收集系统 本地方法库 对JVM的理解 JVM保证了Java程序的执行&#xff0c;同时也是Java语言具有跨平台性的根本原因&#xff1b;Java源代码通过javac等前端编译器生成的字节码计算机并不能识别&…

RabbitMQ+内网穿透远程访问教程:实现异地AMQP通信+Web管理

RabbitMQ是一个开源的消息队列中间件&#xff0c;基于Erlang开发&#xff0c;遵循AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff09;标准&#xff0c;主要用于实现异步通信、消息解耦和系统间数据传输。它的核心作用是在分布式系统中…

go 语言 timer 与 ticker理论和实例大全

目录 1. 时间之门的钥匙:Timer与Ticker的本质 2. Timer:精准的单次计时 2.1 Timer的基础用法 2.2 停止与重置Timer 2.3 Timer的高级技巧:优雅处理并发 3. Ticker:时间的节拍器 3.1 Ticker的基本用法 3.2 Ticker的高级应用:动态调整周期 4. Timer与Ticker的结合:打…

MySQL 45讲 16-17

全字段排序 explain 中的 using fiesort ,扫描 数据,取出符合判断条件的 数据,到sort buffer中,然后对排序字段采用快速排序进行 排序后直接将 所需字段进行返回 如果 字段长度所占内存大于所分配 的sort buffer ,需要借助 临时文件 进行 数据的存放排序,此时会采用 归并排序,将…

QT项目 -仿QQ音乐的音乐播放器(第四节)

一、RecBox中btUp和btDown按钮clicked处理 选中左右键&#xff08;btUp和btDown按钮&#xff09;然后右击转到槽->click() void RecBox::on_btUp_clicked() {}void RecBox::on_btDown_clicked() {} 二、imageList中图片分组 // recbox.h 中新增 int currentIndex; // 标记…

DeepSeek SEO关键词优化提升流量增长

内容概要DeepSeek SEO关键词优化致力于通过科学的方法&#xff0c;显著提升网站在搜索引擎中的可见度与自然流量。其核心在于深入理解并精准匹配用户的真实搜索意图&#xff0c;而非仅仅堆砌词汇。具体来说&#xff0c;该策略运用深度意图导向策略&#xff0c;确保内容与用户需…

# Ubuntu 系统设置 USB PnP 音频设备为默认设备的完整教程

Ubuntu 系统设置 USB PnP 音频设备为默认设备的完整教程 在使用 Ubuntu 系统时&#xff0c;尤其是在嵌入式设备如 NVIDIA Jetson 系列上&#xff0c;我们经常需要将 USB PnP 音频设备设置为默认设备。本文将详细介绍如何通过命令行配置&#xff0c;使 USB PnP 音频设备在系统重…

Hadoop JMX 配置的完整文档

一、JMX 基础概念与 Hadoop 支持 1、JMX 作用。 Java Management Extensions&#xff08;JMX&#xff09;提供标准 API 监控 JVM 应用运行时状态&#xff08;内存、线程、GC&#xff09;及 Hadoop 组件指标&#xff08;HDFS 容量、RPC 性能、节点状态&#xff09; 2、Hadoop 组…

arm架构系统打包qt程序--麒麟操作系统为例

检查系统架构 uname -a如果显示是aarch644或arm64&#xff0c;说明你使用的是ARM架构&#xff0c;&#xff0c;需要下载ARM版本。 下载对应架构的linuxdeployqt 编写脚本 vim deploy.sh#!/bin/bash APP_NAME"sunny450_silc"# 确保deploy目录存在 mkdir -p deploy# 复…

Kong API Gateway深度解析:插件系统与微服务架构的技术基石

在微服务&#xff08;microservices&#xff09;架构主导的今天&#xff0c;API网关&#xff08;API Gateway&#xff09;作为服务入口的“交通枢纽”&#xff0c;承担着流量调度、安全防护、可观测性&#xff08;observability&#xff09;等核心职责。Kong作为开源API网关领域…