美文网首页
IOS基础流程:便捷方式

IOS基础流程:便捷方式

作者: 时光啊混蛋_97boy | 来源:发表于2022-04-20 13:43 被阅读0次

原创:知识点总结性文章
创作不易,请珍惜,之后会持续更新,不断完善
个人比较喜欢做笔记和写总结,毕竟好记性不如烂笔头哈哈,这些文章记录了我的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...,需要再运行真机才会出现。

相关文章

  • IOS基础流程:便捷方式

    原创:知识点总结性文章创作不易,请珍惜,之后会持续更新,不断完善个人比较喜欢做笔记和写总结,毕竟好记性不如烂笔头哈...

  • Flutter 究竟是如何渲染的?

    之前,写了一篇《iOS 浅谈GPU及“App渲染流程”》阐述了iOS端App的渲染流程。其中包括三种渲染方式,分别...

  • iOS开发需要掌握的技能篇

    基础知识储备1. iOS的消息传递方式-1.通知2.iOS的消息传递方式-2.代理3.iOS的消息传递方式-3.B...

  • 收录 : iOS支付开发

    iOS 银联支付开发流程iOS 微信支付开发流程iOS 支付宝支付开发流程iOS Apple Pay开发流程App...

  • IOS硬编硬解

    首先要对VideoToolBox的基础概念有一定的了解 IOS硬编码流程:CMSampleBufferRef(数据...

  • iOS 登录、退出流程整理

    iOS 登录、退出流程整理 iOS 登录、退出流程整理

  • ios 传送门

    iOS github 开源项目集合 iOS资源库列表<强力推荐> 码农人生博客 iOS 调试基础方式 一个好博客 ...

  • iOS Runloop 流程

    iOS Runloop 基础 我们runloop 的运行流程为 1. source0 代表触摸事件的处理 可以看到...

  • iOS10.3的几个新特性(Developer)

    与用户更好地进行沟通 更便捷的方式来获取用户评价 这可能是iOS10.3中最受产品喜爱的新特性了吧。苹果在iOS1...

  • eos账号注册

    MEET.ONE 提供了便捷的EOS账户注册方式,只需支付22元即可拥有EOS账户,以下为注册流程。 1.微信打开...

网友评论

      本文标题:IOS基础流程:便捷方式

      本文链接:https://www.haomeiwen.com/subject/hacvertx.html