【Xcode】Xcode基本使用指引

news/2024/9/19 4:53:41/ 标签: xcode, macos, ide

文章目录

    • Xcode安装及iphone模拟器的安装
    • Xcode中Debug和Release的切换
    • Xcode中控件的使用
    • Xcode工程的基本组成
    • Xcode UI基本设计及使用
    • iOS开发项目中的日志系统
    • 静态库支持多种架构
    • 制作xcframework
    • libuv库
    • Xcode路径
    • .pbxproj文件
    • 苹果平台的宏
    • Leaks检测内存泄漏
    • OC中的ARC和MRC
    • 小结

Xcode安装及iphone模拟器的安装

参考文章:
Xcode15离线安装各平台模拟器
Xcode15 安装iOS17模拟器 报错Could not download iOS
XCode的下载路径

Xcode中Debug和Release的切换

iOS开发技巧:使用Xcode DEBUG模式和RELEASE模式

Xcode中控件的使用

xcode没有显示控件区域(右下角控件显示区域不见了)

Xcode工程的基本组成

Xcode下熟练storyboard、xib等界面开发(新手)
其中AppDelegate里面有程序的入口用于初始化,而AppDelegate是在不断循环的程序和我们的代码之间进行通讯,AppDelegate对象是作为Application对象的委托属性还声明了一个NSwindow*window 的XIB文件的IBOutlet输出变量 这就让AppDelegate可以直接对window做一些操作 比如说windows的背景颜色等。ViewController就是UI界面的实现,所有的控件的具体实现都可以放在这里。Assets主要对工程中使用的图片资源进行统一管理,info里面是工程的配置文件,主要是对工程的一些配置进行设置。

Xcode UI基本设计及使用

Xcode9学习笔记24 - 文本标签的使用UILabel
Xcode使用介绍之二:创建UI界面+连线
ios快速入门教程4

iOS开发项目中的日志系统

如何使用os_log在Console应用程序中查看iOS设备日志
OSLog与NSLog,OSLog的实践
iOS输出日志到Console.app

静态库支持多种架构

判断IOS静态库(.a文件)是否支持模拟器和真机运行

制作xcframework

使用 Xcode 制作 Framework 与 XCFramework
XCFramework:一种跨平台的二进制库分发解决方案

libuv库

https://github.com/xtx1130/blog/issues/36

Xcode路径

( S R C R O O T ) 和 (SRCROOT)和 (SRCROOT)(PROJECT_DIR)和 ( i n h e r i t e d ) 和 (inherited)和 (inherited){PODS_ROOT}

.pbxproj文件

Xcode工程解析:深入了解project.pbxproj文件

苹果平台的宏

在 Xcode 和 Apple 的开发框架中,除了 OSX(不推荐使用)和 TARGET_OS_MAC,还有一些其他的预定义宏可以用来区分不同的 Apple 操作系统。以下是一些常用的宏:

  1. TARGET_OS_IPHONE:
    用于检测代码是否针对 iOS 平台编译。
  2. TARGET_OS_IOS:
    TARGET_OS_IPHONE 相似,用于检测 iOS 系统。
  3. TARGET_OS_SIMULATOR:
    用于检测代码是否正在 iOS 模拟器中运行。
  4. TARGET_OS_TV:
    用于检测是否针对 tvOS 平台编译。
  5. TARGET_OS_WATCH:
    用于检测是否针对 watchOS 平台编译。
  6. TARGET_OS_MACCATALYST:
    用于检测代码是否针对 Mac Catalyst 编译,这允许 iPad 应用在 macOS 上运行。
  7. TARGET_OS_UIKITFORMAC:
    用于检测 UIKit for Mac,这是 Apple 为 macOS 引入的 UIKit 应用支持。
  8. __IPHONE_OS_VERSION_MIN_REQUIRED__IPHONE:
    这些宏通常与版本检查结合使用,以确定支持的 iOS 版本。__IPHONE 表示项目是 iOS 项目,而 __IPHONE_OS_VERSION_MIN_REQUIRED 表示项目要求的最低 iOS 版本。
  9. __APPLE__:
    用于检测代码是否在 Apple 平台上编译,包括 macOS、iOS、watchOS、tvOS 等。
  10. __MAC_OS_X_VERSION_MIN_REQUIRED:
    用于 macOS 项目,表示项目要求的最低 macOS 系统版本。

这些宏可以在项目的编译条件中使用,以确保代码能够根据不同的操作系统进行适当的编译和运行。例如:

#if TARGET_OS_IOS
// 这段代码将仅在 iOS 平台上编译
#elif TARGET_OS_MAC
// 这段代码将仅在 macOS 平台上编译
#endif

使用这些宏可以帮助开发者编写跨平台的代码,同时确保应用能够在不同的 Apple 设备和操作系统上正常运行。

Leaks检测内存泄漏

1分钟学会Instrument Leaks检测内存泄漏
iOS 内存泄漏检测 Instruments Leaks
iOS内存深入探索之Leaks

OC中的ARC和MRC

如何理解Objective-C的ARC和MRC

小结

本文主要介绍了Xcode的基本使用的一些指引博客文章,以作查阅之用,包含Xcode的基本使用,内存回收、内存泄漏检测以及一些其他的指引。

如果本文对你有帮助,麻烦您给我一个免费的赞。如果文章中内容有错误,也欢迎您给我反馈!


http://www.ppmy.cn/news/1520697.html

相关文章

朴素贝叶斯分类算法

文章目录 贝叶斯定理问题背景朴素贝叶斯朴素贝叶斯分类算法原理朴素贝叶斯分类算法步骤给定示例数据 极大似然估计如何求 P ( 特征 ∣ 类别 ) P ( 类别 ) P(\text{特征} \mid \text{类别}) \times P(\text{类别}) P(特征∣类别)P(类别)?如何求 P ( 类别 ) P(\text{…

10 万元预算,竟能打造满足第一性原理计算的高性价比服务器

科学研究的领域中,第一性原理计算占据着至关重要的地位。它要求服务器具备极高的性能,以应对复杂的量子力学计算任务。 第一性原理计算涉及对物质本质的深入探索,需处理海量数据并进行大规模并行计算。第一性原理计算基于量子力学原理&#x…

flask-解决跨域问题

pip install flask_cors两种方式 # 全局 CORS(app, supports_credentialsTrue)# 包装在 app.route 之上 cross_origin()

开放式耳机的优缺点?有什么推荐吗?四款开放式蓝牙耳机推荐

开放式耳机的优点有很多其实,但是每个东西多多少少都是一把双刃剑,所以缺点当然也是有的。那就先讲它的优点: 首先因为不入耳的设计,耳机不是直接塞入耳道的,所以能让耳道保持“呼吸”,减少长时间佩戴导致…

【C++ | 设计模式】简单工厂模式的详解与实现

1.简单工厂模式概述 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它定义了一个工厂类,由这个类根据提供的参数决定创建哪种具体的产品对象。简单工厂模式将对象的创建逻辑集中到一个工厂类中,从而将对…

(计算机论文)基于SpringBoot和Vue的台球赛事服务网站的设计与实现

毕业设计(论文) 博主可接毕设论文!!! 基于SpringBoot和Vue的台球赛事服务网站的设计与实现 摘 要 在快速发展的信息时代,体育竞赛作为群众文化娱乐的一部分,已日益受到广泛关注。台球&#xff…

LangChain中的缓存机制详解

文章目录 概要整体架构流程SQLite 缓存小结 概要 在处理大规模语言模型(LLMs)时,频繁的API调用不仅耗费时间和金钱,还可能导致不必要的延迟。为了解决这个问题,LangChain 提供了一种缓存机制,通过存储先前…

gitea + drone实现CI/CD

下面只是使用docker compose 启动容器docker-compose.yml文件 创建drone容器 version: 3 services:drone-server:restart: alwaysimage: drone/drone:2ports:- "3000:80"volumes:- /home/dorne/lib/drone:/var/lib/drone/- /home/dorne/data:/data/environment:- D…

微服务日常总结

1.当我们在开发中,需要连接多个库时,可以在yml中进行配置。 当在查询的时候,跨库时,需要通过DS 注解来指定,需要yml配置需要保持一致。 2. 当我们想把数据存入到clob类型中,需要再字段 的占位符后面加上j…

Spring全局异常处理HandlerExceptionResolver使用

1 引言 全局异常处理在项目中经常会用到,主要作用包括统一处理异常、提供友好的错误信息、避免应用程序崩溃、记录异常日志、避免异常信息泄露等等。下文将以实现HandlerExceptionResolver接口的方式,实现全局异常处理功能及常规用法。 2 代码 下面列…

搜维尔科技:蹦床、跳绳或骑马,OptiTrack可以捕捉难以想象的物体

蹦床、跳绳或骑马,OptiTrack可以捕捉难以想象的物体 搜维尔科技:蹦床、跳绳或骑马,OptiTrack可以捕捉难以想象的物体

Eureka简介与开发

Eureka 是由 Netflix 开源的服务发现和注册中心,它提供了服务的注册与发现功能,是 Spring Cloud 体系中的核心组件之一。Eureka 采用 C/S 架构,包含 Eureka Server 和 Eureka Client 两个主要的组件。 **Eureka Server** 充当服务注册中心&a…

读懂以太坊源码(3)-详细解析genesis.json

要想搞懂以太坊的源代码逻辑,必须要了解以太坊创世区块配置文件(genesis.json)的结构,以及每个配置参数的意义,创世配置文件,主要作用是设置链的ID,指定以太坊网络中硬分叉发生的区块高度,以及初始ETH数量的…

DuplicateKeyException产生原因及解决方案

DuplicateKeyException 是 Spring 框架中与数据库操作相关的异常之一,通常在试图向数据库中插入一条记录时,违反了唯一性约束(如主键或唯一索引约束)时抛出。这意味着数据库中已经存在具有相同键值的记录,导致插入操作…

小程序中用于跳转页面的5个api是什么?区别是什么

小程序中用于跳转页面的5个主要API分别是wx.navigateTo、wx.redirectTo、wx.reLaunch、wx.switchTab和wx.navigateBack。这些API各自具有不同的功能和特点,适用于不同的页面跳转场景。以下是它们的详细介绍及区别: 1. wx.navigateTo 功能:保…

认识爬虫技术

爬虫目的 网络爬虫,主要目的是代替人工收集网络数据。 应用场景主要包括两个方面: 网页收集的数据量少,但重复操作频率高; 通过网页搜集数据的量大。 只要满足以上两个应用场景,其实都可以考虑使用爬虫技术降低人…

TCP协议 配合 Wireshark 分析数据

在TCP连接中,无论是客户端还是服务端,都有可能成为发送端或接收端,这是因为TCP是一个全双工协议,允许数据在同一连接中双向流动 客户端(Client):通常是指主动发起连接请求的一方。例如&#xf…

【归纳总结】常见排序算法及其实现:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快排、归并排序

思维导图: 目录 思维导图: 一、插入排序 1.直接插入排序: a:基本思想: b:基本步骤: c:复杂度分析 d:Java代码实现: 2.希尔排序(缩小增量排序) a:基本思想: c…

VMware部署linux系统

前期准备 安装VMware的相关教程在我的另一篇博客。 VMware的安装教程-CSDN博客 CentOS7.6的安装包 链接:https://pan.baidu.com/s/1sl8COPAC_VEcRtKxvu2S1A?pwd84el 提取码:84el 如果觉得百度网盘速度太慢,可以去镜像下载也可以 阿里…

对同一文件夹下所有excel表进行相同操作(数据填充、删除、合并)

背景引入:如图所示,笔者需要对数十个表格的银行日记账工作簿合并成一个工作簿,以便与本月银行流水进行核对。 为了方便银行日记账与银行流水进行核对,需要再每个村或小组的表格中,将村或小组的名称放在J列。 clear c…