Xcode插件的实现-JSON格式化
发表于|更新于
|浏览量:
背景:开发中经常遇到需要格式化JSON字符串的情况,每次都是百度在线格式化解析好不方便,某天看到APP Store里有Xcode关于这个的插件,卖的老贵了,哈哈哈,于是就想自己也弄一个,先调研一下JSON格式化的实现原理,然后再看看Xcode插件的实现,最后还可以写个Mac版,给自己大大的赞😄
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2016-02-02
AutoLayout自适应label出现的问题
我在做最近一个项目,自适应label的时候,总是出现一个问题: 这让我很是郁闷,而且只有在6和6p上出现,开始我以为是我自适应的方式不对,但是重写了几遍之后,发现我没写错。。。。问题在哪,始终找不到. 今天在群里看到一小伙伴发关于自适应label的代码,求教了一下,然后找到了这个VerticallyAlignedLabel,然后兴高采烈的尝试,以为终于要解决了,结果发现,确实是向上对齐了,但是多余的部分还在; 那么问题是在哪?然后我就找啊找啊,然后我发现了这个Multiline UILabel height with Autolayout higher in landscape, stackoverflow上的问题,之前我一直搜中文,但是,搜不出来,换英文之后,终于有相似的问题出现了,我就说,肯定不止我一个人遇到(这么蠢😢),然后还有这个objc.io也出现了Intrinsic Content Size of Multi-Line Text, 然后我打算照着他们的方法修改; 他大爷的,我都没办法直接用他们的方法,因为我把view摘出来了,而且还是tableViewc...
2025-08-11
Xcode 26崩溃修改
背景电脑升级MacOS 26.0,之后旧版Xcode不支持了,下载Xcode26 Beta5,运行项目后崩溃,提示:dyld[xxx]: Symbol not found: _NSUserActivityTypeBrowsingWeb 排查过程 在StackOverFlow上有看到说移除 CoreServices 后可以解决,但是排查后发现项目主工程并没有引用这个库 又有说把宏重定义NSUserActivityTypeBrowsingWeb改为字符串"NSUserActivityTypeBrowsingWeb"可以解决,但是搜索后,项目工程中没有使用这个字符串 怀疑是项目Pods中三方库使用了这个宏,通过grep搜索后发现太多了,促使三方库开发者更新不限时。 最后发现,有说把Foundation.framework在链接参数中位置提到CoreServices的前面可以解决,经过尝试确认方法有效。 解决办法解决办法就是:把 Foundation 的在链接参数中的位置往前面提到 CoreServices 之前 方法 1:通过 Build Phases 调整框...
2022-12-12
iOS界面黑白实现
背景iOS APP界面黑白效果实现调研整理,总的来说网上目前有下面几种方法: 针对H5网页:注入js代码 针对APP原生界面: 针对图片和颜色单独设置 hook UIImageView的setImage方法,添加UIImage的Category,生成灰色图片 hook UIColor的colorWithRed:green:blue:alpha:方法 针对界面整体处理 创建一个灰色view,设置不响应事件,然后添加在window最上层 给App整体添加灰色滤镜 具体如下: 实现针对网页:针对网页的处理: 如果有基类,可以直接在基类初始化WKWebview的地方,添加如下代码: 123456WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];// js脚本NSString *jScript = @"var filter = '-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%); -ms-fi...
2021-07-20
iOS 键盘删除键响应
iOS 键盘删除键响应背景背景是,实现一个分享到微信,多选加输入框,点击键盘删除键,删除多选选中对象的东西。 实现由于UITextField没有删除键的代理,所以笔者最开始的想法是,通过textField:shouldChangeCharactersInRange:replacementString:来实现监听,当当前字符串为空且要替换字符串为空时,说明是点击的删除按钮,通过Block方法回掉出去,代码如下: 12345678910- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ((textField.text.length == 0) && (string.length == 0)) { if (self.deleteBackwardBlock) { self.deleteBa...
2024-08-17
FirebaseFunctionError 处理
背景做一个 Firebase 相关的项目,其中创建用户的时候,用的是Cloud Functions,调用的时候一直报错,错误信息只有”INTERNAL”。 Deploying Function Error on Cloud Function with error code 13 and Message “INTERNAL” 排查步骤网上搜索之后,有说字段不对应的,有说调用方式不对的,但是尝试后把这两个原因都排除了。 然后去 Firebase 的 Console 中查看,找到 Function,再找到调用的函数名字,点击右侧的竖三角,查看详细信息,发现里面错误信息为空。不要急,点击顶部 Tab,切换到 日志 下,然后从日志中查看报错信息,就能看到调用这个函数哪里报错了。具体步骤的截图如下:
2023-03-31
Xcode 14.3 Archive 失败
背景由于手机升级了iOS 16.4,想要真机调试,Xcode 也要升级到 14.3, 于是就升级了一下。 升级Xcode 14.3之前,Debug 和 Archive 都没问题;升级 Xcode 14.3之后,Debug 没问题,Archive 就报错。错误信息如下: 123456789building file list ... rsync: link_stat "/Users/xxx/.../AFNetworking.framework" failed: No such file or directory (2)donesent 29 bytes received 20 bytes 98.00 bytes/sectotal size is 0 speedup is 0.00rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/9e200cfa-7d96-11ed-886f-a23c4f261b56/Librar...