原创:知识点总结性文章
创作不易,请珍惜,之后会持续更新,不断完善
个人比较喜欢做笔记和写总结,毕竟好记性不如烂笔头哈哈,这些文章记录了我的IOS成长历程,希望能与大家一起进步
温馨提示:由于简书不支持目录跳转,大家可通过command + F 输入目录标题后迅速寻找到你所需要的内容
目录
- 一、Code snippets 埋点
- 二、真机无线调试
一、Code snippets 埋点
1、Code snippetes是什么
Xcode提供的工具之一Code snippets
代码块,是开发中提速的一个好方法。如果你还不知道,这篇文章适合你哦!另外我们还可以自动生成一系列模板文件,来简化我们的开发。
代码块,也是一些代码模板,系统有内置一些,我们也可以自定义。自定义快捷方式,关联代码块,开发时输入快捷方式就可以直接使用代码模板,可加快我们的开发速度,减轻我们的记忆负担。
2、怎么建自定义代码块
第一步:选择要建为模板的代码块,选中后右键,点击Create Code Snippet
。
第二步:定义代码块的参数。
第三步:可以查看、修改、编辑。从顶部点击+号。
3、自定义模板放在什么位置
Xcode中的代码片段默认放在下面的目录中:
~/Library/Developer/Xcode/UserData/CodeSnippets
让我们来一同分析模板文件里的格式,该文件为plist
格式xml
文件描述文件。
- IDECodeSnippetContents:为代码片段的内容,修改即可达到目的。
- IDECodeSnippetIdentifier:唯一标示,重名即会覆盖。
-
IDECodeSnippetCompletionPrefix:类似
Completion Shortcut
,键值留空可屏蔽该片段。
<?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>IDECodeSnippetCompletionPrefix</key>
<string></string>
<key>IDECodeSnippetCompletionScopes</key>
<array>
<string>All</string>
</array>
<key>IDECodeSnippetContents</key>
<string> @IBAction func commentTapped(_ sender: UIButton) {
sender.isUserInteractionEnabled = false
sender.isUserInteractionEnabled = true
}</string>
<key>IDECodeSnippetIdentifier</key>
<string>5FE483C1-9CE0-400B</string>
<key>IDECodeSnippetLanguage</key>
<string>Xcode.SourceCodeLanguage.Swift</string>
<key>IDECodeSnippetSummary</key>
<string></string>
<key>IDECodeSnippetTitle</key>
<string>commentTapped</string>
<key>IDECodeSnippetUserSnippet</key>
<true/>
<key>IDECodeSnippetVersion</key>
<integer>0</integer>
</dict>
</plist>
4、自定义模板
- 自定义目录不能有相同标识符的模板,否则Xcode启动后会崩溃。
- 自定义母的模板标识符可以跟系统默认模板标识符相同,可以达到覆盖效果。
- 若要使用自定义模板覆盖系统模板,则必须有
IDECodeSnippetUserSnippet
字段,定义为true
,否则Xcode启动后会崩溃。 - 自定义的文件放进去文件夹后,要重新启动xcode,才会生效。
5、埋点实践
我们在进行埋点开发时,经常需要核对几个文档确定每个埋点的参数排序,也有可能顺序填错;另外需要重复的书写NEETTrackEventIdWithAttrs
的方法来调用。所以假设我们自动将StatProfile
中的埋点生成对应的代码块,我们开发时只需要输入埋点的eventId
就可以自动填充代码块,我们也可以根据代码块的提示,补充完整相应的参数。
代码块生成工程(管理员)通过mac的应用程序,采用熟悉的oc代码来进行StatProfile
的解析,然后转化为若干个相应的代码模板。将生成好的代码模板文件夹同安装脚本放在在git
中管理。其他团队成员只需要拉取生成的git
文件夹,然后运行脚本,重启Xcode便能获得所有埋点的快捷代码。
优化后的书写仅需要输入eventid
, Xcode就会自动联想提示,然后你选中联想的代码,输入如下图,这样就有了参数的顺序和提示,再不需要人工一一校对埋点交互稿上的参数顺序,也省去了写很多重复方法。
其他的一些实践
- 渐变色生成
- 生成阴影
- 部分圆角的代码
二、真机无线调试
连接真机调试数据线,在Xcode工具栏,点击 Window
-> Devices and Simulators
。点击后显示:
点击后显示:选中Connect via network
,默认是不选中的,这时候会看到左侧的设备会出现一个网络球的标志。
拔掉连接真机的数据线,注意此时点击左侧额设备是没有Connect via IP Address...
选择项的,即下面这张图的状态你还看不到。在拔掉数据线后需要重新运行真机,因为已经勾选了Connect via network
,所以即使断掉数据线也会显示这台真机。运行之后发现运行不起来,这时候再到 Window -> Devices and Simulators
中右键该真机,发现已经有Connect via IP Address...
选项。
点击Connect via IP Address...
,输入手机IP地址:
查看手机IP地址:设置 ->无线局域网->详情,获取到IP地址后将其填入address
中点击connect
等待一会儿就会连接成功。
连接成功后会在设备处显示一个网络球的标志,以后就可以直接无线调试:
注意:
- 真机和电脑需要在同一局域网才可以连接,连接成功后,以后会自动识别
- 在没有拔掉数据线后不会显示
Connect via IP Address...
,需要再运行真机才会出现。
网友评论