最近几个项目都用的 Realm 数据库, 虽然用起来特别方便但是坑也是特别多. 最近一个项目遇到一个情况, 在删除对象之后就会导致程序崩溃: Object has been deleted or invalidated when delete object. Google 找到的方法都试了一遍也不行, 不知道是不是这个版本的 BUG. 项目紧急暂时未找出原因. 最后找到了一个曲线救国的方...
Cocoapods 在 pod install 之后出现多个 framework
如图, pod install 之后出现出现 2 个 FMDB 的 framework. 然后在 xcode10 上 archive 的时候就会报错: Error: Multiple commands produce.... 一直以来都用 pod init 来创建 Podfile, 也未遇到过什么问题. Podfile 内容如下: # Uncomment the next line ...
MonkeyDev 安装
MonkeyDev 是原有 iOSOpenDev 的升级, 是一款非越狱插件开发集成神器! 先把仓库克隆下来. 下载地址 解压后, 如图: 使用终端执行以下命令 // 目录如下图所示, 不要搞错路径 $ MonkeyDev/bin/ // 不要少了 `./` 不然不识别命令 $ sudo ./md-install 待安装完成后, ...
Pod 私有库踩坑记录
1. 引入第三方静态库 (Framework) 比如 frameworks 放在 WTBAuth/Vender 下面的某个文件夹里面. 在 podspec 中这么写: s.vendored_frameworks = 'WTBAuth/Vender/*/*.framework' 2. 依赖系统库 例如 libstd++.tbd 省略 lib 和 .tbd 后缀, 可以这么写: s....
NSImage 生成 PNG 格式图片
macOS 在 macOS 的工程里, 使用代码把 NSImage 转换成 PNG, 跟 iOS 上面不太一样. macOS 下主要使用 AppKit 下的 NSBitmapImageRep 来进行转换, 代码如下: NSImage *image = [[NSImage alloc] initWithContentsOfFile:@"filePath"]; CGImageSourceRe...
ld: library not found for -lswiftContacts
今天一个 OC 的 demo 工程 pod 里面包含了一个 swift 第三方, 然后 build 时候遇到下面的错误: ld: library not found for -lswiftSwiftOnoneSupport for architecture x86_64 一般看到指令集问题, 第一反应就是换真机试试. 不过有点不可思议, pod 的都是源码, 第一次遇到这样的错误. ...
自己做个命令行工具
开发中一直在使用 cocoapods , git, class-dump, cycript 等强大的命令行工具. 今天就来自己尝试做一个简单了解一下这些工具的工作原理. 开始前先讲个故事: UI : iOS 的 icon 都需要那些尺寸 ◔ ‸◔?? 我 : 给我一张 1024 的就好 (-_-#). (思路被打断正不爽). 于是后来每次我都只能拿到一张 1024 * 10...
审核被拒 (Your app uses or references the following non-public APIs:)
应用审核被拒的经历不少,但是因为 non-public APIs 而被拒还是第一次, 过程中也没少折腾, 所以记录一下, 帮助一下遇到同样问题的朋友, 也算做个笔记. Apple 邮件内容 Guideline 2.5.1 - Performance - Software Requirements Your app uses or references the followin...
Xcode 多个 target 的管理
前言 工作中总会遇到一些这样那样的需求, 比如需要打包一个 Appstore版 + 企业版. 但是却总要手动修改 Bundle Id 等等的这些信息, 比较麻烦(当然马甲包也可以这么搞),最重要的万一某一个宏忘记手动切换了,但是测试又没测出来就上架了 Appstore ,那问题就大了. 于是就有了这篇文章. 简介 这里用到的方法主要是对 target 进行复制, 并且使用脚本自动化的修改条...
Cycript 安装
下载 Cycript 下载地址: http://www.cycript.org/ 安装 解压后直接把 cycript_0.9.594 文件夹放到 /opt 目录下. 控制台输入命令 $ /opt/cycript_0.9.594 $ ./cycript 运行结果如下: 至此已经算是安装成功了. 快捷键 control + D 退出 Cycript 配置 但是此时...