xcode基本使用

安装

软件下载关联地址

Sign In - Apple

编译

xcodeproj编译

   脚本编译工程文件,即自动编译xcodeproj文件

# 编译工程
xcodebuild -project <name>.xcodeproj -target <target-name> -configuration Debug
# 清理工程
xcodebuild clean -project <name>.xcodeproj

make编译

MACOSX_SYSROOT = $(shell xcrun --show-sdk-path)

CC_I386 = $(shell xcrun -find clang)
CC_X86_64 = $(shell xcrun -find clang)
CPP_I386 = $(shell xcrun -find clang++)
CPP_X86_64 = $(shell xcrun -find clang++)

# 编译参数 - 基本参数列表
# 待验证
-x c++
-arch x86_64
-std=gnu++11 -stdlib=libc++
-isysroot <MacOSX10.14.sdk全路径>
-mmacosx-version-min=10.9
-O0 优化级别 Optimization Level
    :None[-O0] Fast[-O,O1] Faster[-O2] Fastest[-O3] Fastest,Smallest[-Os]
    : Fastest,Aggressive Optimizations[-Ofast]
-g
-DDEBUG=1
-i<include路径>
-c <cpp文件路径>
-o <o文件路径>

# 链接参数 - 基本参数列表
-dynamiclib
-arch x86_64
-stdlib=libc++
-isysroot <MacOSX10.14.sdk全路径>
-mmacosx-version-min=10.9
-L<library路径>
-l<库名>
-F<framework路径>
-framework <框架名>
-Xlinker <o文件路径>
-o <dylib文件路径>

# 编译和链接
--sysroot <MacOSX10.14.sdk全路径>

调试

lldb

lldb
attach <pid>
#  断点 函数名 - 文件行号
br s -n main
br s -f test.c -l 12
#  显示所有断点(包含断点号)
br l 或 br list
#  
br del <断点号> 或 br delete

# 显示变量
frame variable
# 
bt
# 
frame select 12
# 
up
#
down

# 打印变量 十六进制显示 
p <变量>
p/x <变量>
po <变量对象>

设置

Preferences...

Text Editing

  • Code folding ribbon   代码折叠

Build Settings

Architectures

BaseSDK                                                          (SDKROOT)

Assets

Build Locations

Intermediate Build Files Path                           关于OBJ目录(OBJROOT) 

Per-configuration Build Products Path             关于输出目录(CONFIGURATION_BUILD_DIR) 

Build Options

Compiler for C/C++/Objecttive-C                     Apple LLVM9.0 | Apple Clang 指定编译器

Debug Information Format                               DWARF | DWARF with dSYM File

Headers

Kernel Module

Deployment

Installation Directory                                        关于安装目录(INSTALL_PATH) @executable_path @rpath

macOS Deployment Target                              最低支持macos系统版本(MACOSX_DEPLOYMENT_TARGET) 10.7

Linking

Runpath Search Paths                                     关于rpath设置 executable_path

Dynamic Library Install Name                          关于加载库 @rpath/libzlib.dylib

Localization

Packaging

Search Paths

Framework Search Paths                                 关于framework的搜索目录     

Header Search Paths                                       关于头文件的搜索目录           

Library Search Paths                                        关于库的搜索目录   

Signing

Testing

Versioning

Swift Compiler - Language

Swift Language Version                                   指定swift语言版本

xxx Code Generation

Generate Debug Symbols                               是否生成调试信息 Yes|No

Optimization Level                                           指定优化等级 -O0 -Os None Fastest,Smallest

Symbols Hidden by Default                             接口对外不可见 | 可见 Yes|No   

xxx - Custom Compiler Flags

xxx - Language

xxx - Language - C++

C++ Language Dialect                                      指定C++标准     

xxx - Language - Modules                    

xxx - Language - Objective-C

Objective-C Automatic Reference Counting     关于arc开启(autorelease)

xxx - Preprocessing

Preprocessor Macros                                         关于预处理宏定义

xxx - Warning Policies

xxx - Warning All languages

xxx - Warning - C++

xxx - Warning - Objective-C

User-Defined

Build Phases

Compile Sources 

添加*.cpp *.mm,并指定它们Compiler Flags,如-fno-objc-arc

异常

Thread x: __abort_with_payload 权限未配置(Info.plist)

工具

otool -L <执行体 | 库>                                         查看库依赖关系

otool -l  <执行体 | 库>                                         查看rpath

otool -D <执行体 | 库>                                         查看安装名

install_name_tool -id @rpath/<执行体 | 库>   <执行体 | 库>                改变安装名(为其他库编译链接准备)

install_name_tool -add_rpath <执行体 | 库>                                       添加当前目录到rpath变量中

install_name_tool -delete_rpath <执行体 | 库>                                   删除当前目录从rpath变量中

install_name_tool -rpath . ./lib <执行体 | 库>                                        替换当前目录为当前目录下lib子目录从rpath变量中

install_name_tool -change /use/lib/dylib  @rpath/dylib <执行体 | 库>  修改库依赖位置(两个,执行体或库依赖dylib)

  • LC_UUID
  • LC_BUILD_VERSION
  • LC_VERSION_MIN_MACOSX
  • LC_ID_DYLIB
  • LC_LOAD_DYLIB
  • LC_CODE_SIGNATURE 签名

快捷键

Command + Shift + 1                                          开启欢迎界面

Shift+Command+Option+Left/Right                 全局折叠

变量

@executable_path              表示执行程序所在目录;

@loader_path                     表示运行程序当前目录;

@rpath                                记录一个或多个路径,用于搜寻依赖库的路径列表;

注意

assert 在O3下会被优化掉

<执行体 | 库> 依赖库取决于编译链接时库的安装名

macos版本不匹配,可修改包内容Info.plist,修改Minimum system version字段的值(鼠标右键显示包内容)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Xcode是苹果公司开发的集成开发环境(IDE),用于开发Mac和iOS应用程序。CSDN是一个技术社区,提供了大量的技术教程和资源。在CSDN上可以找到很多关于Xcode使用教程。 首先,可以在CSDN上搜索"Xcode使用教程",会出现很多教程和指南,可以根据自己的需求选择合适的学习资料。 在学习Xcode之前,首先需要了解Xcode基本结构和功能,并确保已经安装了Xcode开发工具。 Xcode的主要界面由工具栏、导航器、编辑器、助手编辑器、调试区域等组成。工具栏提供了一些常用的功能按钮,如编译、运行、调试等。导航器可以快速导航项目文件和组织代码。编辑器是编写代码的主要界面,助手编辑器可以显示相关的辅助信息。调试区域用于调试应用程序。 如果是初学者,可以从基本Xcode项目创建开始。在CSDN教程中通常会介绍如何创建新的项目,配置项目属性和设置应用程序的选项。 然后,可以学习如何使用Xcode编辑器编写代码。了解关键字、变量、函数等基本概念,并学习如何创建和调用函数。可以尝试编写简单的代码并进行调试。 同时,学习如何使用Xcode进行界面设计。Xcode提供了可视化的界面构建工具,可以通过拖拽方式创建界面。了解界面的各种元素(如按钮、标签、文本框等)和常用的界面布局方式。 除此之外,还可以学习如何使用Xcode进行调试和测试。学习如何设置断点、监测变量和调用堆栈等调试工具。学习如何编写单元测试来验证代码的正确性。 总之,通过在CSDN上搜索Xcode使用教程并按照教程进行学习,可以快速掌握Xcode基本使用方法,并用于开发Mac和iOS应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值