首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每个 iOS 开发者都该知道的 17 个 Xcode 小技巧

Xcode 可以帮助你、允许你做的事情非常多。熟悉你的 IDE 是最简单有效增进实力的方法之一。 在对抗越来越臃肿的 Xcode 方面,我们底特律实验室没有新手,并且想与你分享我们的对抗策略。...5) 当光标处于显示『 Copy Qualified Symbol Name 』命令的方法内,使用 ⌘ ⇧ ⌃ ⌥ C会以一个优质、容易粘贴的格式拷贝方法名称。...12) 按下 ⌥ ⇧ 然后点击项目导航栏中的文件打开一个选择窗口,这时你可以选择在编辑器的哪个位置显示打开的文件。 13) 按住 ⌥ 的同时点击一个项目导航栏中的文件,它会显示在辅助编辑器中。...14) 把导航面板(显示在 Xcode 界面的左边)想成是『 Command 』面板。那是因为按住 ⌘ 的同时按一个数字键可以切换到导航栏内相关的『标签』。...例如,⌘ 1 打开项目导航;⌘ 7 打开断点导航。相似的,把工具面板看作『 Command+Option 』窗口,⌘ ⌥ 1 也可以打开那个面板的第一个标签 —— 文件检查器。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一文读懂 Xcode 代码索引原理

    代码提示、代码跳转统统失效,关键时刻掉链子;面对海量代码,Xcode 的 Open Quickly 功能能够通过关键词迅速定位到想要找到的代码,背后原理究竟是什么?...下图展示了一个案例,1 到 12 行定义了类 Polygon,14 到 26 行定义了 Polygon 的子类 RegularPolygon,图片Record 是怎么表示类定义和子类继承关系的呢?...Polygon 子类的 Occurrence,从而找到 Polygon 子类的 Symbol;最后结合 Unit 可以定位到我们要找的子类的行号、列号;但是线性遍历的效率较低,Xcode 为了优化查询效率引入了...Record、Roles;计算 Polygon 的 USR,通过 USR 查找到它出现过的 Records,筛选 Roles 包含 RelationBaseOf,定位到哪些 Record 内包含 Polygon...图片首先删除 Demo1 的 DataStore、UniDB 目录,将 Demo2 产生的 DataStore 拷贝到 Demo1 的 DerivedData 目录DataStore 存放路径:~/Library

    4.6K30

    错误——持续更新

    解决:软件无法解决, 只能升级xcode的SDK或者ipad降级 Your account already has a valid ios distribution certificate  :   你的账户已经有一个有效的...第三方明明导入了工程却报错找不到这个文件 解决:删除再导入一次  (删除不是删除到垃圾桶中)  不需要的一些库也可以删除 报错: Undefined symbols for architecture...x86_64:   "_OBJC_CLASS_$_MobClick", referenced from:       objc-class-ref in AppDelegate.o ld: symbol...原因:使用KVC赋值时出现的错误,可能没有age1这个key 使用xcode6.1创建的项目, 添加新浪SDK,运行[WeiboSDK registerApp:kAppKey];这一步崩溃,抛出以下...解决方法: 在项目导航栏搜索Info.plist文件,如下图 找到第三方的info.plist文件,如ShareSDK中的腾讯Bundle文件下的Info.plist文件。

    1.8K21

    Xcode10.2无法将项目运行到iOS10以下的模拟器上

    本来想在iOS9模拟器上运行公司的项目看下效果,下了个模拟器老半天终于下载好了,高高兴兴一运行,结果直接crash... 报错内容 ?...Did find: /usr/lib/libauto.dylib: mach-o, but not built for iOS simulator (lldb) Xcode10.2 + iOS9.3...之前的版本都会出现这个问题 实验 如图,心情拔凉拔凉的 Or2,接着下了iOS10.1试着运行一下,一切OK。...后面做了个实验,创建一个纯OC和纯Swift的测试项目,进行了如下测试 类型 模拟器上运行结果 纯OC iOS9以上都运行成功 纯Swift iOS9运行失败,iOS10以上运行成功 OC和Swift混编.../Profiles/Runtimes/iOS 9.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift' 命令出处:苹果官网的 xcode_

    2.3K20

    Bugly iOS自动导入符号表

    ,实测是没有问题的,希望可以帮助到有需要的小伙伴。...我们在Xcode中添加脚本位置如下: 第一步:下载工具包 符号表工具下载链接 我使用的版本(符号表工具 '3.3.4')       检查自己的Java环境,我们在终端中输入 java -version...然后把我们下载的Bugly工具包当中的 buglyqq-upload-symbol.jar 文件直接添加进去。...第三步:添加脚本       前面已经提过了Xcode添加脚本的位置,我们把下面的脚本添加进去之后修改一下前面需要我们配置的一些基础信息: # # #我们项目Bugly的Appid BUGLY_APP_ID...在一个我们需要改一下Xcode下面设置中的配置:Xcode->Targets->Build Settings->Debug information Format 的Debug 为 DWARF with

    1.5K10

    iOS开发——解析崩溃日志

    而此时你可以选择导出自己的崩溃日志,并且这里的我们看到的崩溃日志,都是Xcode已经帮我们符号化的,很清晰的就可以看到崩溃原因,以及崩溃的位置。...依旧是万能的Xcode给我们提供了一个工具 —— symbolicatecrash,这是一个Xcode自带的分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把Crash日志中的一堆地址替换成代码相应的位置...从Xcode Archive的二进制文件中找到.dSYM文件和.app文件拷贝到刚才创建的 CrashReport 文件夹里面..../symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash 这时候终端将会进行处理.........处理结果是生成一个新的文件symbol.crash。然后打开这个文件。 你就会看到日志跟我们调试APP的控制台输出的内容一样了! 天书变成了可以看懂的崩溃记录,攻城狮们,赶紧改Bug吧。

    1.4K30

    iOS 使用Xcode自带工具symbolicatecrash解析Crash文件

    每次遇到闪退信息的时候都要敲一遍命令,所以趁现在写个脚本来解析闪退信息,需要的信息有文件有: dSYM文件 首先通过Xcode的菜单选项Window->Organizer拿到.xcarchive文件。...如果有多个dSYM文件,只选主工程的dSYM文件就行,小组件那些文件不用。...symbolicatecrash工具 脚本里面我已经自动找到此工具的路径了,直接用就行 crash文件 获取crash文件有很多种方法,其中比较常用的有: 通过Xcode->Window->Devices...,打开终端进入那个文件夹输入: sh /Users/mac/Documents/crash/CrashSymbolic.sh 然后就会生成解析好的symbol.crash CrashSymbolic.sh.../symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash $symbolToolPath $crashPath $dSYMPath > symbol.crash

    3.6K10

    肘子的 Swift 周报 #045| 我们需要更多的《悟空》

    本文从 SwiftUI 的挑战开始,涵盖了对其特性的理解、不同平台上的行为差异、导航问题的解决方案、提高可访问性及其作为设计工具的潜力等多个方面。...禁用 Xcode 资产符号生成 ( Disabling Xcode Asset Symbol Generation )[12] Keith Harrison[13] 从 Xcode 15 开始,新增了一个功能...然而,在 Swift 包管理(SPM)中使用时,默认的自动生成符号设置可能会引起问题。特别是在 Xcode 15,没有办法关闭这一功能。...Keith Harrison 在本文中介绍了在 Xcode 16 中如何禁用资产目录中的资产符号生成功能,这对于希望避免符号名称冲突或不依赖于 Xcode 自动生成代码的开发者尤其重要。...资产符号生成 ( Disabling Xcode Asset Symbol Generation ): https://t.ly/HfiW7 [13] Keith Harrison: https:/

    10110

    从单一到融合,扫地机器人导航技术的“最优解”?

    扫地机器人发展至今,导航技术的迭代已从大刀阔斧式创新逐渐转变为循次渐进式创新,虽然底层技术在不断丰富,但短时间内已很难再次大幅提升现有产品的表现。...目前在智能化升级上更针对性的提升产品的智能避障能力、人机交互等方面。 从单一到融合,谁是“最优解”?...高昂的成本与不断下沉的市场趋势显然相悖,并不具备普遍性。而通常作为融合方案“御用配角”的视觉技术在导航方面可发挥的作用远远不仅如此。...不过由于视觉技术开发难度较高,早期的产品应用表现并不理想。而随着视觉技术的不断成熟,它在导航、避障、识别、交互等方面表现出的巨大潜力以及本身的易集成度都让行业看到了新的方向。...INDEMIND双目视觉导航方案扫地机器人样机避障演示 此外,在导航定位数据上已实现定位精度<1%,姿态精度<1°,达到激光方案同等水平。

    55310

    iOS之深入解析Xcode 13正式版发布的40个新特性

    十二、Instruments Instruments 中的调用树视图和扩展详细信息视图现在用“[inlined]”标记指示内联函数; 通过详细视图导航栏更容易发现不同的视图。...场景支持两种新的 SF Symbol 渲染模式:分层和调色板; Interface Builder 现在支持使用 UIButtonConfiguration 样式创作按钮,包括普通、灰色、着色和填充;...; 可以通过选择 Edit > Copy Location 以 : 的形式将所选内容的当前位置复制到剪贴板; 在 Swift 中将占位符扩展为闭包时,代码完成使用闭包的参数名称而不是 ;...Xcode 13 中的 Swift 语法高亮显示是即时且无闪烁的,无论是在文件之间进行编辑还是导航; 即使您的代码不完整或您的项目无法编译,Swift Jump to Definition 现在也能提供更具弹性的体验...; 从 Swift 类、协议或方法声明跳转到定义还可以轻松导航到整个工作区中的所有子类、扩展和符合协议的类型; Xcode 13 包括重新设计的 Swift 代码完成功能,可最大限度地提高可靠性和性能,

    8.8K40

    iOS_crash文件的获取及符号化(解析)

    使用 symbolicatecrash 解析 .ips 文件: symbolicatecrash是Xcode自带的crash日志分析工具 步骤1....原因:Apple 在 Xcode13.3 已经废弃了symbolicatecrash 解决:如果需要使用,需要将.ips转化为之前的格式。...可以使用 AppleCrashScripts 进行转化 步骤: 下载AppleCrashScripts项目,进入到项目目录下 将 .ips 文件复制到AppleCrashScripts-master文件夹下...dSYM文件都拷贝到待解析文件同一文件夹下 Tips3: simulator不会生成crash文件 Tips4: XCode设置生成dSYM文件,并跑到真机上,此时app产生的.ips文件会自动符号化...,且会解析一整个文件,还保留原来的堆栈格式(推荐使用) 参考: Adding identifiable symbol names to a crash report Diagnosing issues

    2.4K10

    【iOS 开发】Objective-C 入门 Xcode 环境详解

    , 版本编辑器; 面板控制相关 :  -- 从左至右介绍 : 隐藏左侧面板, 隐藏底部面板, 隐藏右侧面板; (2) 左面板 面板介绍 : 该面板是 Xcode 工程导航面板, 上方的七个按钮用于切换导航模式...: 用符号显示工程中的 类, 项目 和 属性; -- 表示方式 : C 表示类, M 表示方法, P 表示属性; -- 快速定位 : 点击对应的方法或者属性, 能快速定位到这个类中; (3) 搜索导航...搜索导航简介 : 在搜索框中输入要搜索的字符串, 按回车就可以搜索出包含该字符串的类; (4) 问题导航面板 问题导航面板简介 : 显示项目中存在的警告或者错误; (5) 测试导航 测试导航简介...中添加一个断点; 开始调试(自动判断) : 点击顶部面板中的调试按钮, 如果代码中有断点, 就会自动进入调试状态, 执行到断点时会自动停止, 详细调试信息显示在底部的调试输出面板; 调试面板介绍...Xcode 帮助系统详解 帮助系统作用 : Object-C 开发中需要调用很多系统的类, 需要了解每个类的 用法, 通过 Xcode 帮助系统可以查询这些类的用法; 1.

    1.9K20

    Xcode 常见 CLI 工具

    xcode-select 选择路径不是直接选择的 CLI 路径,而是选择所在 Xcode 的路径,继而使用该 Xcode 对应的 CLI,默认情况会选择到该 Xcode 包内包含的 CLI,但是如果我们通过...的信息到文件 debug_line.txt 中 dwarfdump --debug-info xx.app.dSYM > debug_info.txt # 出debug_line 的信息到文件 debug_line.txt...`DSYM`信息的二进制包中抽取形成`.dysm`文件 dsymutil XXX # 使用指定的符号映射更新现有的 dSYM # 处理开启bitcode选项的dsym文件 dsymutil -symbol-map...、 dSYM 以及 symbolicatecrash 复制到同一个目录下 symbolicatecrash log.crash -d xxx.app.dSYM > symbol.log atos 作用...,更友好的编译过程日志,可以运行在多个平台(主要指 OS X 和 Linux); altool 作用:使用其验证 ipa 以及上传 ipa 到 Store;路径:/Applications/Xcode.app

    3.5K21

    Xcode使用小技巧

    2.2 使用例子 4.1 Xcode自动下载最新的provisioning profile文件 4.2 升级到xcode8.3.3后,Apple Mach-O Linker Error 看不到详细信息的解决方案...4.3 文档&模拟器的安装 引言 Xcode代码片段的使用(CodeSnippets) 自动下载最新的provisioning profile文件 使用Instrument排查内存泄露的问题 原文 https...+O 1.2 显示项目导航器 :Reveal in Project Navigator Command + Shift + J 在一个有很多文件和文件夹的大型项目中, 显示项目导航命令(Reveal...in Project Navigator) 可以为你节省很多时间,这个命令可以在界面左侧的项目导航栏中显示当前文件, 1.3 跳转到方法 快捷键Control + 6 ?...1.4 浏览文档 按住Option键并点击你感兴趣的符号,就可以快速的打开Xcode的文档浏览器,在这里可以搜索某个特定类或者方法。 ?

    82810

    ​iOS Class Guard github用法、工作原理和安装详解及使用经验总结

    到列表中。...然后,它会找出XIB和storyboard并更新里面的名字(即IB文件也会被有效的混淆掉)。 这个工具还会查找工程内的xcdatamodel文件并添加其中的类和属性名到禁止列表。...然后添加预先生成的头文件到库 .pch头文件,并更新target的.xcconfig文件中的头文件的search path参数。...Library/Formula/ios-class-guard.rb 用法集成iOS-Class-Guard到项目中需要以下几步:下载 obfuscate_project 到工程的根目录。...所以就要使用到混淆器,混淆器是把里面的代码变量等信息进行重命名,这样可读性会变得非常差,接着, 到这里,我们完成了对代码的混淆,但是还没有进行加固,防止反编译,所以,请往下看 然后导入自己的包就可以了,

    32710
    领券