Category Archives: macOS

MAC OS 鼠标跟踪速度设置还原的问题

1、问题描述:

1.1、最近花重金买了个Magic Mouse 2,一开始还是非常好用的,与众不同的是鼠标上支持各种手势,高大上!
1.2、充满一次电可用3~4周,并且最关键的一点是,蓝牙连接不占用USB接口,最最最关键的一点是,不掉线!!
1.3、用了大概一个月了,突然出现了异常情况,就是这个指针的移动速度,可能是视网膜的原因移动速度非常慢,但没关系,在系统偏好设置中可以进行相关设置,如下图所示:

20160727-0@2x

1.4、交待了这么多总算可以说问题了,问题就是按上图所示设置好之后,下次重启的时候指针移动的速度会还原到默认值,又变得非常慢了。
1.5、也不是一启动就慢,是开机使用一段时间后就会被还原,然而又要设置一下才正常!如果不设置,重启后也能恢复正常,但使用一小段时间后又被还原,非常不爽!

2、原因分析

2.1、首先,一开始是好的,正常使用了差不多一个月的时间,说明本身功能是好的;[……]

继续阅读

不能打开文件夹”xxxxx” 因为您没有权限查看其内容

1、该问题针对的MAX OS系统;

2、正常情况下我们当前用户都不是Root用户,可能某些系统服务或软件会修改某些目录的所有权或访问权限;

3、当UI界面不能操作的时候一定要记得有个万能的工具–终端;

4、终端下很多操作可以使用root权限,只要在命令前加上sudo即可,这在Unix和Linux系统下都是通用的;

5、使用sudo命令是需要输入root用户密码的,很多人会觉得我从来没接触过这个root用户,我又怎么会知道他的密码呢,先打开【系统偏好设置】–【用户与群组】,然后看下面:

20160722-0@2x

如果没有设置主密码或不知道root用户密码是多少,需要输密码的时候可以直接回车试一下。

6、有了以上准备工具,现在可以做一些实事了,比如修改目录权限,使用以下命令[……]

继续阅读

使用lipo命令合并静态(.a)文件

1、使用过百度地图SDK的童鞋应该有过这样的经历,在百度地图还提供静态文件的SDK版本中,官方提供了多个(.a)静态文件,官方告诉你,有些是在模拟器中使用的,有些是在真机上调试用的;

2、为什么会有区别呢?因为真机和模拟器的平台是不一样的,模拟器是基于PC的x86_64平台,而真机是arm64平台[……]

继续阅读

GitHub 上排名前 100 的 Objective-C 项目

项目名称 项目信息
1. AFNetworking 作者是 NSHipster 的博主, iOS 开发界的大神级人物, 毕业于卡内基·梅隆大学, 开源了许多牛逼的项目, 这个便是其中之一, AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest
2. GPUImage 一款强大的图片滤镜工具, 支持自定义滤镜, 可用来实时处理图片和视频流, 作者是 SonoPlot 公司的 CTO, 在很小的时候便开始接触编程, 他在 SO 上面的回答也有很多值得阅读, GPUImage 这个项目从 2012 年开始, 使用 OpenGL 图形程序接口编写, 性能非常好, 现在很多 iOS 程序员都用它来实现 iOS 的模糊效果
3. SDWebImage 作者 Olivier Poitrey 是 Dailymotion 的 CTO, 拥有多个不错的开源项目, 此项目常用于对从 Web 端接受到的图片进行缓存, 是 UIImageView 的扩展, 应用起来比较简单
4. RestKit 主要用于 iOS 上网络通信, 允许与 RESTful Web 服务交互, 常用于处理 API, 解析 JSON, 映射响应对象等操作, 简单易用, 方便你把所有精力都放在对数据的操作上
5. ReactiveCocoa 由 GitHub 工程师们开发的一个应用于 iOS 和 OS X 开发的函数响应式编程新框架, Matt 称其为 “An open source project that exemplifies this brave new era for Objective-C”, 也有人说它是 Cocoa 的未来, 具体可看唐巧写的这篇文章
6. three20 由 Facebook iOS 客户端衍生出的一款 iPhone 框架, 内置许多丰富的功能, 有丰富的界面, 对底层的操作便捷, 为开发者省下了很多时间, 但现在已经停止了更新, 一个 PR 把代码删得干干净净, 不要好奇去点开 Files changed, 我点开后该页面直接卡死, three20 当中的一位作者创建了 Nimbus, 算是 three20 的一个替代品

[……]

继续阅读

atomic与nonatomic,assign,copy与retain的定义和区别

atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。

? ?? ???atomic

? ?? ?? ?? ?? ? 设置成员变量的@property属性时,默认为atomic,提供多线程安全。

? ?? ?? ?? ?? ? 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样:
? ?? ?? ?? ?? ?? ?? ?? ?{lock}
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???if (property != newValue) {
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? [property release];
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? property = [newValue retain];
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???}
? ?? ?? ?? ?? ?? ?? ?? ?{unlock}

? ?? ???nonatomic

? ?? ???禁止多线程,变量保护,提高性能。

? ?? ???atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。[……]

继续阅读