昨天老大布置任务让熟悉一下 移动推送SDK接入体验优化
snippet ['s ni ppits] 片段
在 iOS 开发过程中,经常会用到一些相似的代码,
如果是来回的 cmd+c ,cmd+v 是挺方便的,不过要是不同的项目就稍微有点麻烦了,并且还要修改一些细节。不过技术的发展都是懒造成的,所以就有了 Xcode 代码片段 ---- Code Snippets,一般我称为代码库。
看图你就知道是什么了:
做一个示范:
- 选中代码拖进代码库中
- 会有弹窗我们可以做修改
Title:标题。
Summary:描述文字。
Platform:可以使用的平台(如ios)。
Language:可以在哪些语言中使用(如 Objective-C)。
Completion Shortcut:快捷方式,以字母开头(支持少数符号,如@)。
Completion Scopes:作用范围,一般写在正确的位置拖动即可,Xcode会自行选择好。
- 修改
对代码片段进行修改,选中代码片段,点击edit即可。主要是 Completion Shortcut,定义自己的快捷键 比如 这里是qwer
- 删除
对代码片段进行删除,选中代码片段,按delete键即可。
- 书写如下语句
@property (nonatomic, strong) <#type#> *<#value#>;
<# #> 作用是占位,# # 之间可以输入提示文字。
效果如下:
![]()
对于咱们开发来说还有什么比这更美好的呢
也可谷歌一下 常用片段 添加进入 这里不多说了
自己定义的代码块是在以下目录下:
~/Library/Developer/Xcode/UserData/CodeSnippets/
注意:只有自己定义过代码块,才会在UserData目录下存在CodeSnippets文件夹,否则是不存在的。这儿的名字是可以更改的,便于分辨,但是后缀要写成.codesnippet 。
Xcode 的所有 代码模板 是用一个 plist 格式 xml文件描述的,这个文件存储在 Xcode的安装目录:
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/SystemCodeSnippets.codesnippets
用任意文本编辑打开这个文件,如下显示:
这个文件是没有权限去修改的。在这里就是所有的Xcode代码块的配置,包括常见的 if , if else , switch,dispatch等相关代码块。
每一个 key 所对应的意义也很好理解。Xcode 左下角有个花括号的页签,里面存储了代码提示模板,就是以上所配置的。
以下内容来自 http://www.cocoachina.com/ios/20160127/15004.html
SystemCodeSnippets.codesnippets浅析
该文件为plist格式xml文件描述文件。
IDECodeSnippetContents为代码片段的内容,修改即可达到目的。
IDECodeSnippetIdentifier唯一标示,重名即会覆盖。
IDECodeSnippetCompletionPrefix类似Completion Shortcut,键值留空可屏蔽该片段。
这里要注意的是以下几个 key 。
IDECodeSnippetIdentifier 是唯一标识符,其中 if 模板的唯一标记是D70E6D11-0297-4BAB-88AA-86D5D5CBBC5D,不能重名,重名即会覆盖。 这也是我们更改系统代码块样式的核心思想!!!
IDECodeSnippetVersion 是版本号,一般系统的都是1,我们自己定义的写成2。保持默认1也没多大问题,只是Xcode有时会自动用标识符替换你的自定义命名,所以用2是比较合适的。
剩下的很重要的一步,如果是自定义的,一定要加以下这个 key, IDECodeSnippetUserSnippet ,定义为 true 。
如果是自定义的而没有这个字段,Xcode是会崩溃的。
言归正传 还是完成老大的任务吧!
- 下载
Code Snippets 放在Github维护,见:Github - aliyun-ams-ueo。
下载好了 解压 导入
将snippets/目录下的*.codesnippet拷贝到Xcode Code Snippets管理目录:
~/Library/Developer/Xcode/UserData/CodeSnippets。
在终端执行操作
cp ~/snippets/*.codesnippet ~/Library/Developer/Xcode/UserData/CodeSnippets/
******:~ admin$ cd /Users/admin/Desktop/aliyun-ams-ueo-master/iOS/Push/snippets
******:snippets admin$ cp *.codesnippet ~/Library/Developer/Xcode/UserData/CodeSnippets/
删除
推送每条snippet里都有移动推送关键字,执行下面脚本将推送相关snippet删除。
grep -l "移动推送" ~/Library/Developer/Xcode/UserData/CodeSnippets/* | xargs rm
在打开Xcode 就会发现 没有了 。。。











网友评论