Xcode插件的实现-JSON格式化
发表于|更新于
|浏览量:
背景:开发中经常遇到需要格式化JSON字符串的情况,每次都是百度在线格式化解析好不方便,某天看到APP Store里有Xcode关于这个的插件,卖的老贵了,哈哈哈,于是就想自己也弄一个,先调研一下JSON格式化的实现原理,然后再看看Xcode插件的实现,最后还可以写个Mac版,给自己大大的赞😄
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2025-09-28
使用一行命令实现OpenConnect连接内网
背景公司文档和接口需要使用VPN访问,而这个VPN软件每次打开都要输入密码,而且还需要动态码,太麻烦了,所以就想找一个简便的方法,最好是不需要设置,一开始想的是使用Surge配置,但是失败了。所以最后的成果就是命令行输入一个命令一键连接。 这个命令中,包含了密码、以及获取动态码和发起链接的过程,所以命令行输入后,什么也不需要操作了,下面来看看具体实现。 实现首先安装expect通过下面的命令安装expect,最终的命令是.expect的。Ps: Expect 本身不是一种文件格式,而是一种用于自动化交互的脚本语言和工具。它是一个Tcl (Tool Command Language) 脚本语言的扩展,主要用于自动化那些需要用户进行手动输入的交互式程序,例如SSH、FTP、passwd 等。Expect 脚本通过模拟人工操作,让程序在后台执行并自动处理响应,从而实现自动化。——来自Google,哈哈哈。 brew install expect 然后安装openconnect因为公司的VPN连接用的是OpenConnect,所以通过命令行安装openConnect,命令如下: br...
2015-11-17
iOS开发知识点2——登陆界面
iOS开发知识点2——登陆界面 按钮的实时响应:登陆的时候,需要当用户有输入时按钮才能响应(可点击),如果有一个输入框为空,则按钮不可响应。以前我以为用的是textfield的代理方法直接判断,后来发现那样不好。有另一种方法 12345678910111213141516171819// 首先给textfield添加addTarget方法,注意最后的controlEvents是EditingChanged[self.accountTextField addTarget:self action:@selector(handleTextDidChange:) forControlEvents:UIControlEventEditingChanged];[self.passwordTextField addTarget:self action:@selector(handleTextDidChange:) forControlEvents:UIControlEventEditingChanged];// 然后实现这个方法- (void)handleTextDidChange:(i...
2021-07-29
iOS RC4加密
iOS RC4加密iOS RC4加密的实现,要注意加密后生成字符串的步骤,有些要求是base64加密后输出,有些要求是字节数组转16进制字符串输出,所以要特别注意。 代码如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125// rc4加密- (NSString *)rc4Encode:(NSString *)aInput key:(NSString *)aKey { NSMutableArray *iS = [[NSMutableArray alloc] initWithCapa...
2023-03-27
导出iPhone所有短信到Excel
导出iPhone所有短信到Excel打算找一些短信,用于作为样本训练识别。 一开始打算网上找到垃圾短信样本,但找了好久没找到,于是就想到用自己和家人手机里的短信,毕竟手机里短信一般不删除,也有小几千条,而且垃圾短信、推销、广告之类的应有尽有。 所以问题就变成了,如何导出 iPhone 短信? 这里笔者也查了好久,找到的第三方软件基本都是需要收费,最终发现了一个免费导出的方案。 首先不加密备份手机到电脑,如下图,选中Back up all the data on your iPhone to this Mac,点击Back Up Now,等待备份完成,备份完成后,再点击Manage Backups Manage Backups点击后,界面如下,可以看到已备份的记录,右键选择Show In Finder,在文件夹中打开 然后可以看到备份所在目录已打开,这时候需要找到文件名为3d0d7e5fb2ce288813306e4d4636395e047a3d28的文件,这个文件就是短信备份的数据库文件。然后问题来了,怎么找呢?看到备份目录一个个文件夹是不是懵,这怎么找,很简单,搜索,点...
2024-04-11
Mac M2芯片安装Picgo 打不开
Mac M2芯片安装PicGo 打不开背景Mac M2 芯片,PicGo安装后打开提示PicGo 已损坏,无法打开。 解决起初以为是打开的方式不对,因为有些新APP,从 LaunchPad 中打开会报错,从 Application/中打开一次就可以了;但是这个从Applicaiton中打开也报这个错; 然后以为是下载的版本不对,是不是下载的不是 arm64 芯片的,于是又专门去下载了一次。结果再次打开还是报这个错。 搜索了一下发现,解决方法如下: 在终端输入: 12345# sudo xattr -r -d com.apple.quarantine 你的APP路径sudo xattr -r -d com.apple.quarantine /Applications/PicGo.app Ps: 然后再备注一个 PicGo 设置 Github图床一直失败,可以看下分支是不是 main,PicGo默认是 master,所以分支也要改对。
2018-12-11
在Swift中使用error来控制流程
此文是翻译原文链接:Using errors as control flow in Swift app和项目里管理控制流会对代码的执行速度,代码的调试复杂度有重大的影响。代码的控制流本质上是函数和声明的执行顺序,及代码执行路径。 尽管Swift提供了很多工具定义控制流——例如if, else, while 及 optional;这周,我们来看一下,如何通过Swift编译时错误来抛出和处理model,来让控制流程更容易管理。 抛出可空的值可选值,作为Swift的重要特征,处理空的数据时可被合法的忽略;它也经常被用作给定函数的来源样板在控制流程中。 下面,重写了从app中bundle加载、调整图片的方法。由于每一步操作都返回了可空的图片,不得不写多个guard语句,告诉函数哪里可以退出: 12345678910111213func loadImage(named name: String, tintedWith color: UIColor, resizedTo size: CGSize) -> UIIma...
公告
This is my Blog