拼图APP
发表于|更新于
|浏览量:
背景
建设银行龙卡信用卡小程序有个拼图小游戏,如下图所示,感觉挺好玩的
于是就试着做了一个APP版出来,简单有趣,给小孩玩耍再好不过了,开源出来,欢迎大家感兴趣的自己运行到手机上体验。
Github地址: 拼图
最终效果如下:

文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2022-08-26
一次诡异的录音崩溃排查
背景上午突然有用户反馈,使用录音功能崩溃。起初以为是最近更新的APP新版本有问题,赶紧去排查。 排查首先在测试手机上,测试环境调试,发现并没有崩溃,长出了一口气,说明不是所有用户都有,不是新版本改出来的问题。 然后去听云后台看日志,发现崩溃的地方是初始化AVAudioRecorder的方法——[[AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:&error];。很费解,只是简单的初始化方法,为什么会导致崩溃呢? 一开始猜测会不会是用户录音权限没开,导致开始录音的时候崩溃。尝试后发现如果权限关闭,在进入录音页面前就会提示权限未开启,去开启权限,并不能进入到录音步骤。 然后怀疑会不会是初始化的url为空,又或者机型不支持设置recordSettings中的某些参数?搜索后,发现有url为空崩溃的条目,所以这里大概率也是初始化的url为空。 继续排查,发现初始化的url,是本地的缓存文件夹中Audio文件夹,并且文件名字是取日期+时分秒用于避免重复,格式为yyyyMMdd_HHmmss...
2024-03-16
APP 隐私清单添加
# APP 隐私清单添加 背景今天送审 APP,提交审核后,邮箱收到了ITMS-91053: Missing API declaration的提示,查看后,发现是缺少隐私清单的提醒。如下图: 记得年初的时候,曾经看到过苹果发布这个的通知(List of APIs that require declared reasons now available),但是当时没有在意,也不知道如何实现,所以就没有管。现在既然提醒了,就说明强制了需要修改。 网上查阅了之后,发现,只有腾讯的这篇苹果隐私策略:PrivacyInfo.xcprivacy,比较合用,再结合下面的图片,就可以看出用法,和对应 key 的意义。 实现具体使用,选中项目,CMD + N,搜索privacy,然后选择类型App Privacy,输入名称PrivacyInfo.xcprivacy,如下图,选择要添加的Target,然后点击完成。 然后选中PrivacyInfo.xcprivacy,右键选择Open As -> Source Code,如下图: 然后参考腾讯的这篇苹果隐私策略:PrivacyInfo...
2020-07-12
iOS14适配一查找哪些SDK使用剪切板
iOS14适配一查找哪些SDK使用剪切板背景iOS14公测版发出之后,我们app出现了从后台唤起会弹出 读取剪切板的 提示,安全要求要赶紧查,全局搜索了我们APP,发现并没有读取剪切板的代码,比窦娥还冤,只能是第三方SDK的问题了,但是项目里集成了十几个第三方SDK,一个个排查删除,万一两个SDK都有,这个排列组合可能性就太多了。 脑壳疼了好几天,求助万能的V友和群友,然后找到了好的办法 步骤1: 用Xcode的Symbolic breakpoint,调试[UIPasteboard generalPasteboard],按照重现步骤,例如,我们APP是从后台唤起来会有这个提示,就打断点,然后走这个流程。 步骤2: 断点会停在调用到这个方法的地方,然后上下查看,如果还不能确认是哪个SDK的话,就单步向下走几步,然后就会出现调用方 步骤3:具体调用的类已经暴露了之后,怎么确定这是哪个SDK的呢?在工程目录中使用命令(来自群友的帮助):12find . -type f | grep -e ".framework" | xargs grep -s...
2024-11-19
Xcode使用免费的Codeium代码补全插件
背景在使用Xcode开发iOS应用时,经常需要编写大量的代码,而代码补全是提高开发效率的重要工具。Codeium是一款免费的代码补全插件,它可以帮助快速编写代码,提高开发效率。 如果有付费Copilot的,可以直接使用CopilotForXcode,之前公司有企业付费,所以用的这个工具,换公司后,不能用了,所以就想找一个免费的,虽然CopilotForXcode也包含有Codeium,但是却一直用不了。所以就想找一个能用Codeium的,参考 Codeium in Xcode ,起始项目是从CopilotForXcode中引出的,只为专门使用Codeium创建的,所以安装步骤和使用跟CopilotForXcode几乎一样。 使用安装步骤可以参考CodeiumForXcode,大致共有下面几个地方。 System Preferences ——> Privacy & Security ——> Accessibility中,将Codeium添加到列表中。如下图: General ——> Login Items & Extensions 中,将...
2021-04-21
iOS 删除新创建项目中的SceneDelegate
iOS 删除新创建项目中的SceneDelegate背景Xcode 11之后新建工程,默认为有SceneDelegate,但是SceneDelegate是从iOS 13之后才有的,如果最低兼容版本到iOS 13以下,需要怎么做呢? 过程首先来看一下,SceneDelegate是什么,为什么会有SceneDelegate 官方说明: A UISceneSession object manages a unique runtime instance of your scene. When the user adds a new scene to your app, or when you request one programmatically, the system creates a session object to track that scene. The session contains a unique identifier and the configuration details of the scene. UIKit maintains the sessio...
2021-09-10
gitignore 添加 Pod 三方库
背景最近项目遇到了一个问题,排查了好久,最后发现是Pod 依赖的私有组件的代码有问题,导致了打包的时候线上包出现了问题。 笔者的项目按照功能抽象出了私有组件,使用 Pod 的方式导入项目,但是 Pod的内容是不提交到 git 的,即每次 Pod 修改,在 主项目的git变更中看不到。于是就遇到了这个问题。 先在主项目中调试的时候,修改了 Pod库的内容。然后把修改内容同步到了 Pod 库单独的项目。但是最后打包的时候 Pod 库的内容却是老的。因为项目里依赖的 Pod 库指定了版本,而更新 Pod库单独的项目时,只同步到了分支上,没有更新新的 Tag。于是再次更新主项目的库时,这个库的内容就又变回了老的。 Ps:理论上来说,放入 Pod 库的内容不应该被频繁修改,是抽出的基础库之类的。但是实际开发中,为了组件化,有些功能组件也会作为私有库使用 Pod 依赖,这些库可能是频繁变更的。 基于这点,笔者感觉还是把 Pod 中的内容,放入主项目的 .git 中比较好,方便看出修改,能够避免出现上面的问题。 修改笔者直接进入项目工程所在目录,编辑.gitignore文件,移出文件中 #...
公告
This is my Blog