轩辕十四

探索科技与创新的个人博客

今天执行 pod search 命令的时候出现了 JSON ParserError 的错误,类似于如下:

Report

  • Run pod search PureLayout
  • List the search result
  • can not get the result list, and shows JSON::ParserError - A JSON text must at least contain two octets!
阅读全文 »

之前解决了,点击登录无反应的 ShareSDK 问题,今天又碰到了点击登陆后回调的 SSDKResponseState 参数一直都是 cancel 的问题。

刚开始以为是我的配置文件出现了问题,一直修改 info.plist 文件,但是问题依旧。问了技术支持,说让我升级到最新的版本,我又 pod update 一下,确实是最新的版本。之后觉得可能我的 repo 不是最新的,又更新了我的 repo ,发现还是不行。我看了一下 sharesdk 的版本,确实是4.0.4最新的没错啊,之后在 GitHub 上看 sharesdk 最新版本的时候,无意间看到了 sharesdk 名字改成了 mob_sharesdk 最新版本是4.0.9,终于知道原因了。

阅读全文 »

定义一个函数


你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
阅读全文 »

获取格式化的时间


你可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime():

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

localtime = time.asctime( time.localtime(time.time()) )
print "本地时间为 :", localtime

# 输出结果
# 本地时间为 : Thu Apr 7 10:05:21 2016
阅读全文 »

Python 基础语法

Python 标识符


  • 在 Python 里,标识符由字母、数字、下划线组成。
  • 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
  • Python 中的标识符是区分大小写的。
  • 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import * 而导入;
  • 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
  • Python 可以同一行显示多条语句,方法是用分号 ; 分开,如:
1
2
3
>>> print 'hello';print 'runoob';
hello
runoob
阅读全文 »

I had a presentation (in Japanese) about RxTest at RxSwift Meetup held at Tokyo.
There does not seem to be lots of RxTest related materials on the web so I decided to translate the presentation into English and to write this post.

Notes

  • This post is based on

    • Xcode 8.1 / Swift 3.0
    • RxSwift 3.0.0
    • RxTest 3.0.0
  • The code shown in this post is published on my GitHub repository here .

阅读全文 »

在 Swift 中无法使用 #warning ,Swift 中有如下的标记:

1
2
3
4
//FIXME: - 待修复
//TODO: - 接下来要做的事情
//MARK: - 标记
注: 添加"-" 可以显示分割线-----Swift3下有效

接下来给 TODO:FIXME: 加上警告,实现类似的效果:

Build Phases —> add a new Build Phases —> New run script phase

阅读全文 »

为什么要定期更新


我发现不少人都不会经常更新,或者只在必须用某个工具的新版本的时候才更新。他们的看法是,更新有可能产生一些意外的问题,反正当前环境足够稳定可以用,干嘛自找麻烦呢?
这个看法对也不对。对是因为,更新产生的潜在问题不可避免。不对是因为总有一天你需要升级的,也许是为了某个工具的新特性,也许是为了修复软件的漏洞,也许你安装的包非要依赖另一个包的新版本,等等。如果隔了很长一段时间才升级,那潜在的小问题可能就会变成大问题。
另一个有意思的现象是,当碰到比较破坏性的事情,比如 Mac OS 大版本更新后,很多人会选择重装 Homebrew 然后顺带安装最新版的包。很少人会去装一个指定的旧版本(除了特殊项目需要)。这说明他们不是不想用新版本,而是不想痛苦地更新。
既然总有一天需要更新,而更新带来问题不可避免,那为什么不更新得频繁点呢?这个道理跟 Git 的冲突解决有相似性。长时间不 pull/push 的代码更容易产生冲突,一个解决方法就是频繁地 commit & merge 。
我现在试着一个月更新一次,两次下来发现这些好处:

阅读全文 »

更新系统的gem

1
sudo gem update --system

安装CocoaPods

1
sudo gem install cocoapods

这时候可能会出现下面的错误

1
2
ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/fuzzy_match

因为在OS X El Capitan版本之后,之前的命令就不适用了,我们可以用如下的命令来安装CocoaPods

1
sudo gem install -n /usr/local/bin cocoapods

加入软连接:

1
2
3
4
5
6
7
8
// 如果你是sublime 2
sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

// 如果你是sublime 3
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

// vs code
sudo ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /usr/local/bin/code
0%