修好了MBP的音频接口

之前咱的老MacBook Pro(13-inch,Mid2009)出现了耳机插孔不插任何设备的时候处于光纤输出状态,无法切换到内置扬声器,不过插耳机上去倒是能正常使用,而且开机的时候那声“咚!”也是正常用内置扬声器发出的。
于是可以确定就是插孔的问题,然后既然插耳机上去能够正常使用,说明应该是插孔的检测用的“开关”(金属片)不是处于一直闭合就是处于一直断开的状态。
然后昨天将整个“音频网络”升级到全光纤化之后回顾这个问题,发现光纤的插头是塑料的,这是光纤转换插头和普通音频插头的对比:
2014-01-11 03.31.08
既然插头是塑料的,那么Mac怎么判断插入的是耳机还是光纤呢?只能是通过检测“形状”,也就是通过插入之后闭合或者断开开关来检测插入的,从对比看来两个插头的区别仅仅只有头的突出的部分略微不同,而且就那么细的地方(相差仅有1mm左右)…能保证一定能检测到而且不弄错?还有这个只是我买的…其他生产商有可能生产出来的插头和3.5一样的呢?
所以可以肯定的是:一定是插头里面的金属簧片要么没弹性了,要么就是触电脏了导致接触不良..
但是咱插拔光纤头和普通耳机插头多次还有包括用细棍子捅之类的方法基本全部尝试过了。一点恢复的迹象都没有…

看起来只能拆了…

嘛其实为了这个问题拆机器不下3次…不过这次真打算解决掉这个问题(毕竟维修装备和之前相比好很多了)。
拆的过程就不说了,简单一句就是把看到的螺丝钉全部拧掉,不过要注意排线什么的不能弄坏不然就麻烦了。特别是主板背面有根线拉得非常紧的…应该说Apple“计算好了”线正好够长…所以拆下主板的时候如果不注意一弄断就happy了..

于是重点是耳机插孔,注意这个修复是无法恢复成原样的!除非用焊枪把整个插孔吹出来,本来咱也是想这么做的,但是怕把其他地方也给弄坏了得不偿失所以最后没这么做。
敲开外面的金属壳(外侧的,原理插孔的那个),可以看到有两个金属触点:
2014-01-11 04.24.06
经过测试,发现有东西插入的时候这两个是断开的,而没有东西插入的时候这两个应该是闭合的。
于是再测试,发现对应主板背面的是这两个点:
名称未設定
于是检测发现,居然是处于常开状态,也就是无论插入不插入东西这两个点都处于断开,而如果用东西压上面看到的两个触点,这两个点则就短路了。
OK,发现了问题,解决方法也很简单:插入插头之后用螺丝刀等工具用力弯曲触点…让它更容易碰上,然后再用针之类的清理下触点的接触的地方。于是再测量,插入东西的到时候断开,不插入的时候短路。嗯好了~

实际测试发现已经恢复成原来一样了,内置扬声器也可以正常使用了,撒花☆*:.。. o(≧▽≦)o .。.:*☆

嘛…其实还出现了两个情况。

一个是昨天改造升级“音频网络”时候,打算是其他设备输出光纤,然后经过Mac mini的Line in(前些天查了下Mac mini居然支持光纤输入,所以才打算将“音频网络”整个升级改造的)再转换成普通扬声器输出(当然不是Mac mini内置的不然根本没效果嘛..)。其实重点还是给AppleTV在普通显示器上使用(不想和家里抢电视机)。
扯远了,嘛…升级过程中,将音频光纤链接Mac mini和MBP的之后,播放视频/音乐发现没有声音!在系统偏好设置面板里发现了插入的设备是光纤,但是音量是可调整的(一般光纤无论输入还是输出都是不可调整音量的),而且下面的音频音量显示则是一直为无声音的样子。
嗯…好奇怪,于是先将SoundFlower卸载了(不知道为啥运行这货居然会导致不停的有噪音),发现还是不行,难道是编码解码问题?但是Mac对Mac传输的应该是不加密的才对啊。于是换了根光纤线、光纤头…再换电脑,发现还是不行。于是插到另外一台Mac mini上,发现居然显示有音频输入有音量了!!
难道是这台Mac mini的光纤输入坏了?但是根本没怎么用到这个插孔啊….嗯?没怎么用到这个插孔?…你妹的…
光纤传输最重要的是什么?光啊!如果有灰尘挡住光线传输…自然不就收不到信号了嘛!!我个馬鹿。。。
于是找了根棉签清理了下插孔内部,确实带出来些灰黑色的东西。再插进去,正常了~撒花☆*:.。. o(≧▽≦)o .。.:*☆

另外一个则是修好MBP的音频插孔之后,将整个电脑装好,插电(看到电池点亮测试灯亮了),再启动….嗯…没反应(´・_・`)?
于是拆出来,检查各接线…似乎是好的啊…
拆电池,再boot…还是没反应..风扇也不转..
该不会芯片被击穿吧((((;゚Д゚)))))))…这个是咱最不想看到的(普及一下,冬天大家穿的毛衣所能产生的静电…电压能轻易达到上万伏特)。咱可不希望Mac就这么报销了,虽然是台老机器但是就这么少一台确实好可惜(不过也幸好咱提前就把所有数据全部转移到Mac mini上了)。
于是拔掉所有内存,再boot…风扇转了,屏幕亮了!警报也响了=3=..
再单独测试…又是内存接触不良。嘛这个对咱来说再熟悉不过了,橡皮擦下金手指就好了~
不过Mac和PC相比,Mac内存错误时一点反应都没有,而不插内存的时候屏幕居然能点亮。而PC是内存错误的时候不断自动重启(就是boot大概5秒左右又自动断电,5秒左右又自动开启,然后又自动断电…如此反复),不插内存屏幕点不亮但是同样会报警…

嘛幸好没损失一台电脑也不错了~
不过比较担心的就是电池…现在控制好了没以前那么胀气了,但是感觉还是好危险…要不要哪天抽空戳爆去呢?(´・_・`)
(再普及一下,Intel的电脑无论Mac还是PC,拔掉电池之后CPU都会降频…)

iOS开发者无需越狱安装破解App

其实这个方法或者说这个软件应该不少人都知道了的,以前叫做“iReSign”,不过后来改叫“iModSign”,不过最近发现imzdl这个网站一直无法正常使用所以如果想要用最新的自己去网上找吧。最新版的好像是4.0.1。实在是找不到下载的时候咱再放出下载。鉴于IMDL整个网站已经卖出,现提供最后的一个版本下载[iModSign-4.0.1]。

不过这个方法仅针对于iOS的付费开发者,也就是说你必须有Apple的iOS开发证书才能对ipa进行重签名,然后才能安装到自己的设备里(而且设备必须是登记在开发者名下的)。

这个是旧版的iReSign:
屏幕快照 2013-12-29 21.26.05
新版的iModSign:
屏幕快照 2013-12-29 21.29.27

使用方法也是很简单,iModSign的话:
1.在“Settings”的“Certificate Chooser”里选好开发证书,比如“iPhone Developer: Firstname Lastname (XXXXXXXXXX)”。
2.拖入ipa文件。
3.点击“Start Job”
然后应该会开始重签名ipa文件,完成之后应该会弹出已经重签名的ipa的位置。

iResign的话:
1.选好ipa文件。
2.从“钥匙串访问”里找到你的开发证书,比如“iPhone Developer: Firstname Lastname (XXXXXXXXXX)”,把完整的名称填到最后一个输入框。
3.点击“ReSign”
重签名完成之后同样应该会弹出文件所在位置(应该是源ipa文件旁)。

有了重签名的ipa文件,就可以通过iTunes或者iPhone配置实用工具甚至Apple Configurator来将app安装到自己的设备上。

这个方法可以重签名所有ipa文件,但是有效的仅有非加密的ipa,也就是:
1.开发者自行导出的ipa文件。
2.网上下载的已经破解了的ipa文件。
不适用的情况:
其他账号购买的ipa,未进行破解。(安装后仍然会弹出提示框需要输入AppleID进行验证)。

iOS 7上进行Per App VPN设置(未能实验成功)

iOS7的新特性:支持Per-App-VPN,但是几个测试版下来都没发现有相关的设置。不过最后在开发文档里找到了相关的说明,但是这个其实是作为配置文件的API,并不能直接在设备上进行设置。而且操作极其繁琐,如果各位不愿意花时间去折腾的话可以等正式版iOS7放出后相关工具更新了再去设置。

再次说明一下本方法及其繁琐而且目前处于测试阶段没办法保证100%成功。另外本文仅作为技术研究,不提供任何代理服务。如需翻墙,请出门左转购买VPS不用谢。

目前是不明原因iOS7无法安装配置文件,应该是文件内容有错误。还需慢慢进行实验调整,不过思路应该是对的。

Per-App-VPN的官方说法:
屏幕快照 2013-09-12 23.22.15

Per-App-VPN有两种模式:
1.任何App包括Safari访问特定网址触发就打开VPN(也可以设置成手动提前打开)。
2.针对单个App进行代理,即App运行后自动开启VPN。
两个模式基本都差不多,就是设置的内容有些区别。其实你也可以把它理解为是一种路由表。

建议系统为Mac,需要工具:
1.Xcode任意版本(或者单独去找plist编辑器也可以)。
2.iPhone配置实用工具(Mac版本下载地址,目前版本3.5(289))。
3.iOS7设备一台。
4.可用VPN一个。
5.终端命令行。

制作方法: 继续阅读“iOS 7上进行Per App VPN设置(未能实验成功)”

终于可以准备换手机了

今天凌晨的发布会…嘛虽然说5c被喷得很厉害而且咱也觉得套上官方外套也非常难看,不过单机器来说还算是挺不错的….
不过咱要入的话当然是5s,毕竟那才是下一代产品并且作为开发者来说硬件上的更新也是必须要进行真机测试的。而碰巧咱的iPhone4也在今年的11月合约到期,正好可以换手机(不换的话每个月126话费确实高了些,之前联通都是返一半话费也就是每个月我只用交63元话费的)。
于是虽然国内是首发,但是目前为止联通还没有5s的消息,合约价格也不清楚(不过应该和现在的iPhone5一样的)。不过反正直接找客户经理买…应该能拿到第一批。

话说上星期的今天去和本地的漫展商谈了下AR的应用,他们表示很愿意和咱们合作,即咱可以帮他们开发AR的app,他们提供人物模型而且我们可以应用至MoeApps里,推广的话他们也会帮忙,也就是说这合作对双方都有非常大的好处。
所以最近都在研究AR技术,也包括Unity3D以及OpenGL ES什么的…表示换平台真心麻烦…而且和Xcode一样:不知道为啥代码是对的功能就不能实现。
加上最近别的事情也是超多,于是本身写代码的时间就少,结果不仅AR这个程序拖了一星期都没写完(最开始的人物花了2天就完成了,但是经过商谈之后似乎就一直忙别的去了),MoeApps也是一直没时间弄。

不过萌电波本身8月底的时候就已经做好了上架的准备,不过被拒了两次,第一次被拒是因为:
1.因为国外网络不是很通畅所以程序进行网络自检的时候报错,然后审核人员认为app一运行就报错是有问题的,而且自认为网络是没问题的。
2.去人声功能那里写了“beta”字样,然后审核人员认为咱的程序是未完成品。
3.Sandbox的时候填写了network in的解释,忘记写out的了…Orz…
于是修复也是很简单,分别:取消弹出提示,删除”beta”字样,补充network out的解释。
之后等了5~6天终于又进入审核,但是非常杯具的是…正好碰上萌否电台歌曲服务器挂掉….于是因为无法开始播放歌曲被拒了…囧rz
不过第二天恢复正常之后马上发消息给审核团队要求重审…于是终于成功上架了~~撒花~☆*:.。. o(≧▽≦)o .。.:*☆

不过残念没我之前计算得那么好,似乎真的没多少人上MacAppStore买东西,于是几天下来都没人买,于是干脆就在Twitter上搞了一次小范围限名额的“限免”赠送app活动…
不过stilll很残念,之前是考虑先免费一段时间等爬到排行榜前面之后再改收费。但是这么一来会收入大减…于是打算还是准备出Lite版,去掉一些功能比如登录之类的再加上比如收听时间限制之类的。
预计Lite版本要等两个星期左右才能上架了。
另外萌电波的图标也打算重新设计,不过咱自己本身绘图就不行…于是美工部分还是继续搁置吧~

话说上次咱入了PS3之后,Mike酱又自己跑去买了台初代PS3,目的是为了读SACD(不过比起普通SACD播放器来说PS3确实是很便宜了)。不过因为是破解机器于是也顺便给咱玩游戏。
不过比较残念的是因为系统必须得保留3.55…于是很多新游戏玩不了而且要破eboot什么的好麻烦…Orz,久而久之感觉确实还是去买盘玩正版还方便。

话说找PS3游戏的时候顺便尝试了下Perfect dark,就是那个传说中需要下载40G加密交换数据才能正常下东西的加密P2P下载工具。不过实测下载到2G左右的缓存就已经开始下载咱指定的文件了。
另外这货能用wine运行,但是share ex2不行。不过据说share上文件更新比pd要快,但是实际用起来似乎pd更好?嘛不管怎样目前这两货都呢呢个正常用了…在Mike酱的指导下…
然后咱准备专门弄台windows的服务器来给share和pd做下载,不过要求低功耗的同时还能插多块硬盘…似乎会比较难找..

话说之前为了上架萌电波办了Mac的开发者计划,然后可以进入下载中心随意下载Mac系统了,10.0以上的系统随意下,于是给iBook G4装了10.4的server(本来想装10.5的,似乎不支持PPC?),准备当作直播服务器(不过残念之前的USB摄像头被人借走了而USB视频采集卡也借不到所以暂时没办法直播..)。
另外可以直接拿到10.7到10.9的AppStore兑换码…可以免费下系统…嘛毕竟付了那么多不给点对应的补偿当然不行的嘛~

最后是晒图的时间,眼瞎注意喔~
继续阅读“终于可以准备换手机了”

电台客户端收费已经完成了

在此之前先公布一个事,萌否电台Mac客户端或者叫萌否电台Mac版,目前准备改名叫“萌电波”~
这次是首次动用到数据库,之前在弄MoeApps和MoeApks的时候都没去想过碰它(毕竟感觉超麻烦的),这次的话则是php+sql+obj-c同时编写…真心觉得好乱(;´Д`A..不过最后还是完成了。目前已经能够联网验证用户注册信息,虽然比较简单,有被破的可能,不过总的来说咱还是控制着后台的,也就是说和某些软件那样,可以封掉网上流传的激活信息什么的。代码细节就不公布了,不过因为采用的是普通的连接验证,如果被破掉的话之后会考虑采用SSL+证书验证的方式,希望不会用到这样的方法。
屏幕快照 2013-04-15 上午12.23.59

价格也定下来了,10RMB或者5USD,又或者160日元(不过估计没人会支付日元吧…)。支持paypal和支付宝,其他的之后再添加上去。
不过话说距离上次说开始申请免费名额以来………………………….居然木有一个人报名?!!咱写的程序真的那么没用么(哭)
嘛,反正之后功能多了开始收费之后,别赖咱没提供机会喵~
继续阅读“电台客户端收费已经完成了”

RegIP更新v2.1

这次算是比较大的更新,当然GitHub上的源代码也一起更新了。
主要的改变一个是添加了可以定时自动更新IP。
每间隔10分钟自动执行绑定一次,这样当自动重新拨号更换IP的时候可以及时绑定域名(虽然比不上路由器…毕竟人家有检测触发,咱检测不到PPPOE重拨号)。
第二个是界面和代码的优化。
首次成功在程序里显示消息记录(虽然实现的方法挺简单的),然后将记录的文本也缩小了,记录的信息也比之前详细一些,显示得也更多。
代码的话优化了许多…除了开启ARC之外,还添加了输入检测,其他的就是整理过了感觉上看起来比较舒服这样。
屏幕快照 2013-04-12 上午3.35.57

bug的话也有,就是信息纪录在钥匙串里(为了提高保密性所以直接用钥匙串,不过其实可以保存在UserDefault里的,那样真的就是明文保存了,不过因为本来传输就是未加密的所以根本无保密性可言),然后似乎第一次能记录信息之外,后面的修改似乎久无法保存了,只能在钥匙串访问里删除掉com.RegIP开头的两个密钥才行(虽然在程序里添加了删除记录的密钥功能,但是似乎不起作用…)。不过这个不是很影响日常操作而且代码里也没发现问题,所以搁置解决。

咱常用NameCheap和Oray所以只有这两个服务商…如果有需要别的域名服务商可以告诉咱,基本上大多数都会提供有API,添加进去都不是困难的事情。
因为是小程序也不常维护,所以就不内置更新检测了(主要是弄证书什么的验证挺麻烦的)。下载可以到上方“下载”页面找RegIP直接下载,当然和以前一样是开源,高手们可以直接去GitHub里下载源代码自行编译(特别是10.7以下或者32位的Mac用户)。

继续阅读“RegIP更新v2.1”

入了台NDSi

其实是iDSi,即国内神游代理的NDSi。本来是想问问DSTwo的,然后发现有这台DSi..嘛…至少感觉上还是比之前入的NDSL好一些,屏幕各方面感觉还是比DSL和3DS都要好一些的样子(顺便一说,3DS因为下屏有按键所以屏幕是比DSL和DSi都要小)。
主要还是因为3DS想升级系统进商店,后来发现其实R4就是个坑。最近3DS系统从4.5.0升级到5.0.0(目前已经到5.1.0-11了),封锁了一堆烧录卡,这也没啥,毕竟4.3到4.5的时候咱也是等了一段时间,不过后来r4同样发布了新的固件之后一直在最新的系统上用了很长一段时间。但是这次封锁之后,r4直接在原来新银卡的基础上推出了个新新银卡,改变就是内部芯片添加了一个,变成3块芯片,然后外面标签右上角红色部分由New改成了2013。然后用的固件…是咱当时买3DS+r4回来时就有的海绵宝宝…也就是说如果找当初没升级过的新银卡应该还能用的(实际上就是降级了)。
然而让咱觉得最坑的是,咱从咱之前的童鞋那听来的,虽然不知道是不是真的….据说r4打算去掉TF卡,直接做内置储存,这样他们同时可以卖专门读DS卡带的读卡器..
所以咱感觉不如直接买台旧的机器比如NDSL或者NDSi专门玩NDS游戏,而3DS就来玩3DS就好啦~这样也省了老换卡的麻烦,而且人多的时候可以NDS游戏联机什么的..也不需要对方也持有机器了~
不过虽然机器本体才390,但是要加上Xbox的破解,于是一下烧掉了咱520(还是商家做了让步…)。于是目前Xbox送破当中..估计后天能拿回来吧~不过和童鞋说好费用他出的,毕竟机器咱只是名义上托管。

不过话说确实NDSi,喔不对,是iDSi。感觉上外形还是比3DS好看得多,也比NDSL好看许多,应该说NDSi是几代机器中最好看的。
可惜就是内部操作菜单超烂…不知道是不是国内重新做过界面或者咱个人对中文界面特别不爽,总之感觉比NDSL或3DS都要难看得多。真心想刷成日文系统…
还有个问题就是NDSi的退出到主菜单或者说reset键和power键是相同的按键,如果一按到则直接白屏退到主菜单。于是如果玩LovePlus之类的游戏,在里面误按的话,再次进入游戏准被女友骂~(虽然不知道谁设计的,不过似乎误按的几率并不大…至少咱还没误按过..
于是两台机器就是这样:
20130409-204907.jpg
感觉还是NDSi多好看些♥~
或许我当初应该就直接入NDSi的…现在还想入NLP或者PSP或者PSV或者PS3之类的估计是不太可能了。而且得继续存钱好久了….T_T

话说昨天发布了电台的v0.8.3更新,都是些细节上的修改调整。大功能没时间去动…
不过倒是挺想做个调查的:

今后萌否电台Mac版本的开发重点应该放在哪里?

  • 不曾使用过萌否电台 for Mac (47%, 9 Votes)
  • 卖萌 (32%, 6 Votes)
  • 界面优化 (5%, 1 Votes)
  • 收费服务 (5%, 1 Votes)
  • 音效插件,让音质提高 (5%, 1 Votes)
  • 同步歌曲信息到iChat(信息.app) (5%, 1 Votes)
  • 社交分享 (0%, 0 Votes)
  • 上传歌曲 (0%, 0 Votes)
  • 播放列表 (0%, 0 Votes)
  • 宣传推广 (0%, 0 Votes)
  • 歌曲评分 (0%, 0 Votes)

Total Voters: 20

加载中 ... 加载中 ...
目前想到的基本都写上去了,似乎这个插件没有用户自己添加选项的功能,所以如果有别的想法咱会添加上去的。

Mac电台基本成型了

经过几天的打磨,目前似乎已经算是比较完美的版本了,之后做好播放列表(包括搜索)之后应该可以算是1.0版本了吧…
上传功能虽然是想做…尽管园长表示要弱化该功能。不过咱觉得如果没人上传歌曲的话,萌否电台也就只是个音乐的wiki而已。先别说手机客户端了,至少电脑上的客户端得有这功能….不然像最近新歌曲上传的量越来越少,挺损失人气的(当然服务器经常挂掉是导致人气大减的主要原因)。
不过既然能做到上传歌曲的话,像Google Music那样自动匹配iTunes资料库中的歌曲然后自动转换再上传也不是不可能,只不过因为动用到比如Apple Script来读取资料库以及调用各种转换格式的插件等,需要比较长的时间才能实现全自动化。而且歌曲信息的匹配也是个难题。
目前上传界面大概这样:(改的地方还有好多)
屏幕快照 2013-04-03 下午10.17.55
而播放列表。大概这样,估计之后还会做更小…
屏幕快照 2013-04-03 下午10.37.43
嘛…反正横竖都是坑…(躺
不管怎么说,目前电台客户端基本可以满足日常需求了~反正咱是使用频率非常频繁的。去咱的Last.fm页面如果运气好看到咱正在听的客户端就是咱自己做的“萌否电台 for Mac”啦~。

顺便一说,Last.fm的widget貌似只有在英文版才能正常显示…

话说最近不知道怎么了,连续2天报告有人的手机屏幕摔裂,于是叫咱帮换..然后2天内也是好久不联系的2位初中童鞋突然都来找咱…搞啥?!
于是今天陪某位去修PSP,按键接触不良什么的。然后顺便试玩了下PSV上的DJMax….顿时好想买啊~~残念木有米…TAT
不过话说其实咱要买的话果断先3DS吧?而且X360还没破…各种烧钱啊~~(跪

话说手机屏幕要好好爱护啊~碎了能换屏幕还算好事了,某些换起来超麻烦甚至比如rMBP这种一体的…真心没办法了~
像咱的手机用了快过合约期了…至今除了日常用磨损之外,基本没磕碰~(回想起来感觉1年多….真不知道自己怎么做到的)

嗯….基本上就这样,写太多貌似看上去就挺烦?
明天清明要回老家..特别是老人生病……
所以估计又是2天没能上网这样……反正对我来说已经无所谓了,基本上现在的服务器都能自动运行…咱基本不管都ok~

新blog暂时是弄好了

原定是rMBP修回来之后就开工转移blog,于是今天rMBP拿回来了就费了点时间创建了个WP,虽然目前算是基本完工但是还有一堆东西要弄,比如插件和主题什么的。

URL的话原本是想直接用blog.bi119ate5hxk.net的,结果发现各种调试失败,而且WPMU又不支持这种带端口号的。然后Server上设置二级域名又无效,只能在域名管理页面上设置…

还有咱的域名不知道为啥会被Twitter给屏蔽了,发了几次解封请求都木有人受理的样子,于是同步到Twitter之类的似乎目前无解…>A<

然后旧blog虽然说不关闭不过已经停用了,重要的文档比如教程之类的可能会转移过来,不过日常的文章就不打算转移了。所以如果想找咱的黑历史的话可以去咱的旧blog。

 

话说昨和前天是漫展呢,咱按照之前的计划当然去啦~而且也拉上了咱的之前的高中童鞋。然后M酱(就是之前blog里说的Mike酱啦~)因为去应聘NPC(场内工作人员)然后被选上了,于是票就免费让给咱童鞋了….

本来咱是想开车去的,第一天本来是有机会,不过没要到,结果第二天连机会都木有了。于是2天都是坐公车,话说看见各种coser在等公车有种穿越的感觉(喂

不过要说的话感觉这次比上次人少好多,参展商也少好多,也似乎没发现什么有趣的看点,所以就不晒图了。不过day2倒是好多同人志开始贩卖…..可惜咱不买这些的…

发现街机厅扛去的是头文字D的机台(强烈要求下次换jubeat),然后咱去试了下….感觉和RR或者NFS操作差别好大..不过练多了应该也能上手…

这次的话还看到各种跳舞,刚开始竟然是赞助商德克士的一群妹纸员工带头的…然后day2甚至直接有个小专场跳了一下午….各种V家歌曲…

不过最让咱郁闷的是看到各种情侣,嘛..如果只是cos各种CP的话咱还是能接受/看得出的,但是尼玛现场超多闪光弹…

于是咱一直在想咱去漫展的意义….最后发现不如在家()更好。于是不知道下次还去不去呢…..据说7月还有次…….

 

 

话说回rMBP,因为买得早所以买到了屏幕有残影问题的第一批货。

之前问售后是需要2周的时间才能换屏幕,而最近去问则是7个工作日内就可以了,于是7天也不算特别长而且看着屏幕残影确实不爽,于是干脆就直接换了。

于是今天下午接到售后的电话,咱的电脑已经换了屏幕了。

20130325-164451.jpg

 

继续阅读“新blog暂时是弄好了”

让Mac程序支持键盘iTunes控制和AppleRemote控制

对于iPod的话方法实在是太简单了,因为iOS都内置有完整的remote控制(耳机线控)API,直接使用
- (void)remoteControlReceivedWithEvent:(UIEvent *)event就可以了。
但是Mac上并没有给出这个API(NSEvent并没有这方面的说明,看起来是私有API),所以必须另外想办法。
为了这个咱查找了很多资料,非常恶心的是网上居然几乎都没有这方面的教程。
最后从Mac上比较强大的播放软件VLC的源代码入手,终于找到了remote控制的方法。

如果开启了ARC的话会报错,那么就在Xcode的project的Target里的Build Phases,在下面的Compile Sources里面找到提示ARC报错的文件,双击他们并填上-fno-objc-arc。然后重新编译即可~

AppleRemote也就是红外线遥控器部分比较简单,但是代码似乎是VLC针对自己而写的,虽然可以直接移植过去之后使用,但是需要修改过才可以,于是咱自行进行修改,屏蔽掉了VLC自有的部分(似乎是为了错误提示做的log,并没有太大用途)。于是文件下载在这里:戳我啊!来戳啊!
下载之后将2个文件导入到project,并#import “AppleRemote.h”。
接下来在头文件里创建AppleRemote *appleremote;
然后在m文件里进行初始化并且设置其开始监听:

appleremote = [[AppleRemote alloc] init];
[appleremote setClickCountEnabledButtons: kRemoteButtonPlay];
[appleremote setDelegate:self];
[appleremote startListening: self];

然后就到了重点:接收到按键操作之后

- (void) appleRemoteButton: (AppleRemoteEventIdentifier)buttonIdentifier
pressedDown: (BOOL) pressedDown
clickCount: (unsigned int) count
{
switch( buttonIdentifier )
{
case k2009RemoteButtonFullscreen:
//似乎是进入全屏模式
break;
case k2009RemoteButtonPlay:
//开始播放
break;
case kRemoteButtonPlay:
//开始播放
break;
case kRemoteButtonVolume_Plus:
//上按键,同音量+
break;
case kRemoteButtonVolume_Minus:
//下按键,同音量-
break;
case kRemoteButtonRight:
//右按键,同下一曲
break;
case kRemoteButtonLeft:
//左按键,同上一曲
break;
case kRemoteButtonRight_Hold:
//右按键一直按,同快进
break;
case kRemoteButtonLeft_Hold:
//左按键一直按,同快退
break;
case kRemoteButtonVolume_Plus_Hold:
//上按键一直按
break;
case kRemoteButtonVolume_Minus_Hold:
//下按键一直按,同静音
break;
case kRemoteButtonMenu:
//目录(menu)按键按下
break;
case kRemoteButtonPlay_Sleep:
//播放键一直按,同进入睡眠模式
break;
default:
/* Add here whatever you want other buttons to do */
break;
}
}

到这里AppleRemote已经可以正常工作了,剩下的就看自己的需要修改代码了。

而键盘上的iTunes播放控制键虽然同样没有API,但是却有公开的代码实现,可访问Media keys hook in Mac OS X来下载代码和例子。
使用方法和上面的remote差不多,同样是import之后设置为SPMediaKeyTap *keyTap;接着init:

[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[SPMediaKeyTap defaultMediaKeyUserBundleIdentifiers], kMediaKeyUsingBundleIdentifiersDefaultsKey,nil]];
keyTap = [[SPMediaKeyTap alloc] initWithDelegate:self];
if([SPMediaKeyTap usesGlobalMediaKeyTap])
[keyTap startWatchingMediaKeys];
else
NSLog(@"Media key monitoring disabled");

而方法官方也在例子中给出了:

-(void)mediaKeyTap:(SPMediaKeyTap*)keyTap receivedMediaKeyEvent:(NSEvent*)event;
{
NSAssert([event type] == NSSystemDefined && [event subtype] == SPSystemDefinedEventMediaKeys, @"Unexpected NSEvent in mediaKeyTap:receivedMediaKeyEvent:");
int keyCode = (([event data1] & 0xFFFF0000) >> 16);
int keyFlags = ([event data1] & 0x0000FFFF);
BOOL keyIsPressed = (((keyFlags & 0xFF00) >> 8)) == 0xA;
//int keyRepeat = (keyFlags & 0x1);
if (keyIsPressed) {
switch (keyCode) {
case NX_KEYTYPE_PLAY:
//播放键按下
break;
case NX_KEYTYPE_FAST:
//下一首按下
break;
case NX_KEYTYPE_REWIND:
//上一首按下
break;
default:
break;
}
}
}

如果对上面2个方法有问题的可以留言或者单独联系咱~