Xcode插件的实现-JSON格式化
发表于|更新于
|浏览量:
背景:开发中经常遇到需要格式化JSON字符串的情况,每次都是百度在线格式化解析好不方便,某天看到APP Store里有Xcode关于这个的插件,卖的老贵了,哈哈哈,于是就想自己也弄一个,先调研一下JSON格式化的实现原理,然后再看看Xcode插件的实现,最后还可以写个Mac版,给自己大大的赞😄
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2021-07-22
Flutter组件基础——ListView
Flutter组件基础——ListViewListView是滚动列表,类似于iOS中ScrollView,可横向、纵向滚动,内容不限。 ListView的使用ListView的使用很简单,但是需要多多练习; ListView的使用,通过设置children来实现,children中的Item为Widget对象。 纵向滚动代码如下: 123456789101112131415161718192021222324252627282930313233343536373839class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'ListView Learn', home: Scaffold( appBar: new AppBar( tit...
2022-03-29
图片中多个二维码选择的实现
背景买早餐的时候会遇到,支付宝和微信的二维码贴在一起,然后扫码的时候两个二维码一起被识别出来的情况。之前的处理可能是:APP内部判断 是自己的 Scheme 的时,自动跳转;后来发现变成了识别到多个二维码时,弹出二维码选择页,用户选择具体二维码后,再跳转。 公司的项目一直没有做这个功能,最近有时间,就来整理添加到项目中,这里分享记录一下实现的过程。 过程整个的过程是: 识别二维码 只有一个,则直接跳转; 有多个二维码信息,则跳转二维码选择页面; 二维码选择页面标记出每个二维码的位置; 点击对应位置的二维码,跳转对应的链接。 二维码识别二维码识别的逻辑,代码如下: 12345678910111213// UIImage + Category//识别二维码图片- (NSArray <CIFeature*> *)imageQRFeatures { CIImage *ciImage = [[CIImage alloc] initWithCGImage:self.CGImage options:nil]; CIContext *co...
2015-11-17
iOS开发知识点
iOS开发知识点今天整理项目,为项目添加注释,发现有些东西需要保存一下,将来好使用。 设置navBar的背景,去掉黑线,试了好长时间,查了好多,这个对我适用 设置navBar上item的颜色,以及nav Title的颜色和字体大小 替换系统返回按钮的图片,设计说自带的太丑,一开始是自定义返回的View,后来发现不用那么麻烦,直接有方法可以替换 123456789101112131415// 设置navBar背景,这样设置可去掉那个黑线[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg_bar"] forBarMetrics:UIBarMetricsDefault];[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];[[UINavigationBar appearance] setTranslucent:NO]; // 设置navBar的按钮的tintColor,...
2020-08-10
iOS beta4崩溃修改
iOS beta4崩溃修改前言升级iOSBeta4后,有用户反馈使用我们APP时会崩溃,有登录的、查看详情的,都会出现崩溃。我们查看Bugly数据也发现崩溃率上升了0.02%,直接超出了指定的崩溃指标。虽然是由于升级beta版系统导致的,但还是要排查出具体原因,然后尽快适配。所以我说一下我发现的哪个API导致的,供大家参考一下。 排查由于崩溃是必现的,所以排查起来很容易,找一台升级了iOS14 beta4的手机,然后复现步骤,看具体崩溃的地方,即可我们APP是由于使用了SexyJson这个库,其中SexyJsonProtocol这个类第67行中sexyToValue()的方法里使用AnyRandomAccessCollection这个地方有强制解包属性,在之前的系统版本中,这个地方返回的值不为空,所以没有问题,但是在这个版本里,这个属性返回为空了,就导致了新系统中的崩溃。 如图所示位置: 修改由于是强制解包导致的,所以直接的修改就是,把这个地方的强制解包,改为if let的格式,修改后,运行,binggo,崩溃确实没了。但是在验证过程中,由于我们使用这个是把请求的对象转为参数...
2022-10-11
Xcode14编译的APP低版本崩溃
背景测试说iOS 12的手机上安装Xcode14.0.2导出的新包后,打开就崩溃,但是在系统版本高的手机上就没有问题。 调试后发现,崩溃日志是dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib,具体如下: dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib Referenced from: /private/var/containers/Bundle/Application/55730273-D9D6-4C42-9335-7A56F92B7F2C/xxx.app/Frameworks/FSPagerView.framework/FSPagerView Reason: image not founds 搜索后发现,开发者社区中有此问题的记录,xcode14:Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib,解决方案是: If yo...
2026-01-16
制作自己表情包
背景浏览 X 的时候,看到一篇制作马年表情包的文章,突然想起来自己之前也有把家里狗狗制作成表情包的念头,当时因为太复杂放弃了。看到文章使用 AI 生成图片,就想再试试 实现参考# 谁不想拥有专属的微信表情包呢,一步步操作,很简单,最终制作成功,步骤如下: 批量生成表情包Gemini Banana Pro 的提示词如下,你可以根据要生成的对象,适当修改,同时附上一张图片/照片: 为我生成图中角色的绘制 Q 版的,LINE 风格的半身像表情包,注意头饰要正确彩色手绘风格,使用 6x4 布局,涵盖各种各样的常用聊天语句,或是一些有关的娱乐 meme其他需求:不要原图复制。所有标注为手写简体中文。生成的图片需为 4K 分辨率 16:9 ⚠️ 需要注意的是,有时候中文会写成不认识的词,可能需要检查修改 ⚠️ 为了保存高清图片,记得点击 Gemini 生成图片右上角的下载按钮哦,右键保存的图片分辨率较低。 生成一个裁切工具生成了 6x4 的表情包,但还需要一张张裁切也太麻烦了。那就用 AI 生成一个图片裁切工具吧,gemini 提示词如下: 写一个web工具可以裁剪图片, 图片是...