那片树海

用心做一件工艺品


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

CocoaPods重复生成UUID的问题

发表于 2018-05-28 | 更新于: 2026-05-11

最近使用 CocoaPods 在 pod install 或者 pod update 时会出现 [!] [Xcodeproj] Generated duplicate UUIDs: 的错误,大段的 warning 占满整个终端。

解决方案:

终端执行如下命令

1
export COCOAPODS_DISABLE_DETERMINISTIC_UUIDS=YES

后续 CocoaPods 已经把该配置移入到 Podfile 当中,执行上面命令无效的可以在 Podfile 当中添加如下配置即可:

1
2
# 建议放在文件开始或者 source 之后
install! 'cocoapods', :deterministic_uuids => false

主题替换为NexT

发表于 2018-04-04 | 更新于: 2026-05-11

之前一直觉得博客的主题在显示比较多的文字和代码的时候略显凌乱,而且不太方便阅读,所以就把博客主题替换成了 NexT。NexT 在文字排版上比较清晰,而且界面元素也不多,可以使自己把更多的关注点放在内容上。

NexT 主题地址:https://github.com/iissnan/hexo-theme-next

多说两句

1.NexT 有 4 个 scheme,每个 scheme 对应一个不同的布局,可以在 _config.yml 当中设置

1
2
3
4
5
6
7
8
# ---------------------------------------------------------------
# Scheme Settings
# ---------------------------------------------------------------

# Schemes
scheme: Muse
# scheme: Mist
#scheme: Pisces

2.大于 5.0.1 小于 6.0.0 版本的 NexT 在 sudo hexo generate 时速度会特别慢,不知道是不是个例,在使用的时候注意一下

从ReactNative到React

发表于 2018-03-29 | 更新于: 2026-05-11

最近在写自己的一个前端小 Demo,因为之前在工作中使用了 ReactNative,就选择了 React 作为技术选型,也就走上了这么一条自上而下的路。本文主要内容为 ReactNative 和 Reactjs 的一些不同以及从 ReactNative 到 Reactjs 的一些开发中的经验,因此适合从原生转向前端或者对前端有些兴趣的同学,希望能帮大家少踩一些坑,少费一些力。

安装脚手架和搭建基础工程

1
2
3
4
5
6
//-g是将create-react-app安装到全局,该电脑的任何用户都可以使用
npm install -g create-react-app
create-react-app my-app

cd my-app
npm start

这样我们就有一个基础的工程和基础的页面了,下面我们就开始讨论详细的问题了

阅读全文 »

2017年个人总结

发表于 2018-01-09 | 更新于: 2026-05-11

20180109-1

阅读全文 »

MobX绑定过程和其中的一些坑的总结

发表于 2017-10-19 | 更新于: 2026-05-11

20171019-1

阅读全文 »

Xcode9的一些问题

发表于 2017-10-10 | 更新于: 2026-05-11

Xcode9 的正式版也使用了一段时间了,bug 还是有点多的,总感觉好像是赶工出来的版本,刚开始用的时候还是有点痛苦的,下面就把这些点列出来,大家可以参考一下。

BUG

1.APP 图标不见了

用 Xcode9 跑起来工程之后发现应用图标不见了,这个是因为 CocoaPods 的资源脚本有点问题,在 Xcode9 上资源位置异常,工程引用不到,解决方案是在 Podfile 添加如下 hook 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
post_install do |installer|
copy_pods_resources_path = "Pods/Target Support Files/Pods-[工程名]/Pods-[工程名]-resources.sh"
string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
text = File.read(copy_pods_resources_path)
new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
end

# 如果有多个TARGETS,遍历执行即可
post_install do |installer|
installer.aggregate_targets.each do |target|
copy_pods_resources_path = "Pods/Target Support Files/Pods-[工程名]/Pods-[工程名]-resources.sh"
string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
text = File.read(copy_pods_resources_path)
new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
end
end
阅读全文 »

一行命令搞定工程图片浏览查找

发表于 2017-09-12 | 更新于: 2026-05-11

在项目开发过程中随着项目的逐渐增大,项目当中的图片资源会越来越多,而且有些时候因为命名不规范和人员的变动等原因会造成项目当中重复的图片资源越来越多,而且 Xcode 查看图片的方式也不集中,查找起来也不方便,这种情况下我们往往会更倾向于添加一个新的图片资源,从而更加剧了图片资源重复的问题。

为了解决这个问题,我们打算来写一个脚本,把工程当中图片数据扫描一遍,然后用 html 集中显示出来,这样就方便我们来查找了。

问题分析

我们基本上需要解决以下 3 个问题

  1. 工程资源文件扫描脚本的编写
  2. html 展示页面的编写
  3. html 页面和扫描脚本的数据交互

1 和 2 两点查阅相关资料就可以比较容易解决,主要是第 3 点,一般情况下浏览器是不提供操作文件的接口的,网上说的ActiveXObject也只是 IE 浏览器提供。这个地方我们采用了一个比较特殊的方式,就是将脚本扫描得到的数据直接利用脚本的文件操作写成一个 js 文件,虽然浏览器不能操作文件,但是可以直接读取 js 文件,这样就比较好的解决了脚本和 html 交互的问题。

阅读全文 »

一个优雅的水波动画

发表于 2017-08-11 | 更新于: 2026-05-11

今天整理文件的时候发现以前写的一个动画,感觉还不错,就和大家分享一下。

如何实现一个如下图的动画呢?

20170811-1

下面我们就来一步步的实现它。

阅读全文 »

iOS工程文件整理

发表于 2017-07-31 | 更新于: 2026-05-11

在 iOS 开发过程的当中不知道大家有没有遇到过这样的问题

  1. 文件的物理位置不对应
  2. 多余的未被工程引用的文件

这两个问题在工程变得比较大的时候,对工程的影响就比较让人难受了,于是我决定对工程进行整理。

因为我们的业务还是蛮复杂的,工程就特别大,手动查找和整理简直就是一场灾难,于是我决定使用脚本来帮助我完成这项虽然简单但是巨大的工程。

阅读全文 »

React Native之mobx绑定

发表于 2017-07-12 | 更新于: 2026-05-11

作为一个 iOS 开发,想必大家都经历过把很多状态和逻辑放到 Controller 当中的时候,当 Controller 逐渐变大,数据处理逻辑、视图展示逻辑和状态控制逻辑混在一起会导致代码越来越难维护,RN 当中的 State 也会存在这样的问题,我们引入 mobx 就是为了解决这样的问题。

MobX 是一个经过战火洗礼的库,它通过透明的函数响应式编程(transparently applying functional reactive programming - TFRP)使得状态管理变得简单和可扩展。

mobx 通过响应式的结构将数据和视图的处理逻辑进行分离,比较好的解决了状态维护的问题,再将数据处理分离出去就是一个标准的 MVVM 的结构,开发者在 VM 当中对数据和视图进行了绑定后就可以只关心视图的渲染和数据的处理了,这样也更容易理解。

阅读全文 »
1234…6
树海

树海

59 日志
1 分类
21 标签
RSS
GitHub Weibo
© 2026 树海
由 Hexo 强力驱动
|
主题 — NexT.Muse