做 app 做网站,难免要和服务器、后台、数据打交道,那么作为一名后台开发,当涉及到注册登录,你最应当想到的应该是用户的安全,尤其是密码安全。
现在安全界几乎天天都有某网站、某公司被脱裤,也就是整站的数据库被偷走被下载。那么你的用户数据全部落入了歹徒手中,应该怎么防范即使如此,歹徒也不能拿到用[……]
众所周知,落格输入法不需要获取“完全访问权限”,所以根据苹果的权限,自然就无法播放按键音了。
不过,最近的落格输入法更新中加入了这一功能——在后续的版本中甚至可以加入按键震动了。然而我还是无需获取“完全访问权限”。
那么,我是怎么做到的呢?
iOS 里的声音和震动
其实是同一回事[……]
通常 UILabel 是用来在应用界面显示简单提示文字的,不过,我们也可以用它来显示一些大段的不需要用户参与编辑的内容——比如阅读的 tweet
这些内容有一个特点就是需要支持富文本。 [crayon-676add014a1f181716[……]
UITableViewController 是iOS开发中相当常用的一个空间了,它的 cell 很早就可以支持自适应高度,或者说是 动态高度。在开发中,如果cell里布局了复杂的内容——比如连图带字的一条微博。那么这个时候动态的自动的高度就显得很有用了——总不用你自己去计算[……]
做开发者肯定有过这样的烦恼:版本号提交错了!
编译和测试的版本多了,难免提交的时候才发现版本号搞错了。要不就是后台版本号正确,前台的版本号忘记更改。其实,可以让前台自动获取后台的版本号数据,比如这样:
1 2 |
let info = Bundle.main.infoDictionary! version.text = "Version \(info["CFBundleShortVersionString"]!) (build \(info["CFBundleVersion"]!))" |
后台的版本号[……]
一年前,我在 git 上发布了一个用 Swift 实现的栈,一共有两个版本。因为 Swift 自身并没有实现这个东西——尽管官方的教程中泛型的部分就是用这个栈举的例子。
也许是人家觉得这个太简单了吧
总之,这次我又来玩这个东西了,因为 HMM 的 Viterbi 算法需要做修剪,不然路径太多无谓[……]
众所周知,在 iOS 平台上自从 8.0 版本开始,可以为 iOS 开发第三方的输入法键盘了,而这些键盘可以被放在 AppStore 销售了,不过,同时也有着十分严格的权限规则。
对此,苹果为第三方的键盘设计了两种权限,一种是最小的,只有最基本的键盘功能的权限、另一种则相对较多,键盘获取了“完[……]
今天遇到一个奇怪的问题,程序运行一点问题都没有但终端报错如下
1 |
Could not load the "" image referenced from a nib in the bundle with identifier "com.xxx.xxx" |
其实就是题目上的错误,这个问题看上去挺简单——不就是引用的图片丢失了么……
其实不然,由于名字是 ""