XCode快捷键及小技巧

首先推荐个视频:Becoming Productive in XCode  链接里有个demo版的,完全版是收费的,处于对源作者的尊重,不放出下载地址,各位同学自行解决,推荐有能力的购买一下,还是物有所值的,下面这些基本都是视频中提到的

—Workspace—

⌘N          New project

⌘,             Preference

 

⌘E          Zoom editor in

⌥⇧⌘E       Zoom editor in fully

 

—文件切换—

⌘← →     历史编辑点切换

⌘D          Open Quickly,直接输入文件名,支持查看各种.h .m …

⌘↑          .h与.m切换

 

—File Navigation—

← →         按word移动光标,向右移动到word尾部,向左移动到word头部

⌘← →         移动到该行头/尾,

⇧⌥← →      高亮word

⌘← →      高亮行

⌘↑ ↓            移动到文件头/尾

L               光标所在行放置在编辑器中间

⌘L               Goto(行号)

 

2               打开method列表(应该叫Function Popup)(与系统的Spaces切换有冲突,看自己习惯了)

⌘D              BookMark

4               BookMark列表(BookMark Popup)

⌘M          打开Bookmarks Smart Group

 

⌘F              搜索

⌘G ⌘G   (搜索中)下一个/上一个

⌘F           跨文件搜索

+双击        以浮动窗口形式查看定文档

⌘+双击     查看相应文档

 

—Editing Source Code—

TAB             确认当前补全

  ,        补全列表

/               切换到下一个Placeholder

 

⌘←   →    折叠、展开代码段

⌘↑ ↓         折叠、展开所有method段

⌃⌥⌘F        打开、关闭当前代码段高亮功能

 

⌘/               快速注释、取消注释

⌘T           同时编辑当前文件中所有同一变量名

 

—Refactoring—

⌘J           Refractor对话框

 

—Building and Running—

⌘B              Build

⌘B           Build Result窗口

⌘=  ⌘=    查看warnings、errors

⌘Enter         Build & Go

⌘R           打开Console

⌃⌥⌘R        Clear Console      

 

⌥⇧⌘/        打开文档(这是快捷键么)

 

====Tips====

 

—Workspace–

分组(Group)是任意的,并不会真的产生这个目录

Smart Group很实用

右上角那个搜索是支持通配符和正则表达式的,点击放大镜边上的箭头

 

—File Navigation—

类似列表的东西都是支持键盘输入开头的几个字符来选择相应项目的

#pragma mark [something]     类似分隔线的东西,效果在Function Popup中可见,尤其是 #pragma mark – 的时候

 

// TODO: [something]

// MARK: [something]

// FIXME: [something]

// !!!:

// ???:

以上均可在Function Popup有相应效果

 

Editor部分右上角那个右边带箭头的C按钮 打开可查看Superclass(Navigator popup) 默认无快捷键

 

—Refactoring—

Extract:Refactor那个对话框的另一个功能是Extract 支持自动把当前函数中的一段提取到一个新的函数中,对代码重构很有用。使用方法:选择要提取的部分,按⌘J,选择Ectract,然后修改一下函数名即可,系统已经自动把所需的参数添加好了。 

 

—Building and Running—

Preference 》Debugging 》On Start 选择 Show Console 可以默认打开Console

[AppleScript] 小技巧:执行sudo的方法

AppleScript是个强大的好东西,虽然我只是用它来执行一些命令行操作(呃,实际上我还没学怎么进行别的操作),好了废话不多说了,直接进入主题。

在AppleScript中执行终端操作的方法:

    do shell script "SOME COMMANDS"

很简单吧,如果要有管理员权限怎么做,人们自然想到要这样:

    do shell script "sudo SOME COMMANDS"

但是运行一下会出现这个提示:

    AppleScript 错误

    sudo: no tty present and no askpass program specified

解决方法很简单,不要直接把sudo加到里面,而是改成这种形式

    do shell script "SOME COMMANDS" with administrator privileges

这样运行的时候就会弹出那个提示输入管理员密码的那个对话框,sudo的问题就解决了

 

[教程]共享本机代理给其他设备

由于某些众所周知的原因,本文风格可能有些委婉,还请各位谅解。

     有些代理程序只能给本机使用,比如那些默认地址是localhost:port这样的,要把这种只针对本地的代理共享给其他设备尤其是iphone,touch,ipad,android等移动设备就有些麻烦了。笔者认为其中一个可行的方法就是搭建一个服务器,比如apache之类的,再设法把网络请求通过本机的代理发送(大概就是这个意思吧,我也描述不太好)。但是我只实现了搭建服务器这一块,不知道怎么实现后面那部分,要是高手看到这还请多多指教。

    好了言归正传,既然有难度的弄不明白,总有简单的方法,只需要Charles Web Debugging Proxy这个软件即可实现。这个软件夸Mac Linux Windows三大平台,有30天试用期,希望广大同学多多支持正版。

    软件针对本文的使用方法:菜单:Proxy  >>  External Proxy Settings…,勾选 Use External Proxy Serves,在下面即可设置代理,注意到这里还可以设置socks代理,因此可以通过Charles把代理共享给不支持socks代理的设备。

    在Proxy >> Proxy Settiongs下面可以设置对外的端口,默认是8888,设置好之后就可以把代理共享给其他设备了。

Have Fun

-以上-

在线编译器推荐–codepad,ideone

以前一直考虑有没有一个在线编译器,今天发现了codepadideone这两个网站

codepad简单介绍:codepad is an online compiler/interpreter, and a simple collaboration tool.

支持C/C++、PHP、Perl、Python、Ruby等语言

选中下面的Run Code即可看到编译/输出结果,总的来讲比较实用。

ideone简单介绍:支持更多的语言,甚至有语法高亮功能,比codepad强大不少,还提供了API,iOS上有个CodeToGo软件使用这个API实现编译功能。

–以上–

教主生日总结

  1. The new mac book pro:感觉升级不是很大,有试水的嫌疑,完全没有3GS升级到iPhone4的感觉。USB2.0、FireWire、Thunderbolt在同一台机器上感觉总有些多余。
  2. Thunderbolt:以苹果和intel的实力,也许可以直接干掉USB3.0,成为新一代标准接口,毕竟Mac市场占有率越来越高了。
  3. FaceTime:正式版可以在Mac App Store上下载了,但是居然要0.99刀,实在不厚道,不知道测试版还能用多久。
  4. 10.7 Lion:官方页面更新了如下特性:
  • AirDrop, 无需设置,就可以通过无线从一台 Mac 上拷贝数据到另一台 Mac 上;
  • Versions, 自动保存先前版本的文档,你随时可以浏览、编辑、恢复先前的版本;
  • Resume, 无需退出您的程序,下次打开时将还原最后关闭时的状态;
  • Auto Save,自动保存你的文档,您无需时刻备份;
  • 全新的 FileVault,高性能的本地、外置磁盘加密,支持直接从 Mac 上擦除数据;
  • Mail 5:UI更新,更加接近iOS系列
  • Mac OS X Lion Server,设置服务器更简单,并支持管理 Mac OS X Lion, iPhone®, iPad 和 iPod touch® 设备;
  • 另外,开发者可以用 promocode 从 Mac App Store 下载 Lion 的预览版本。

总结:MBP更新似乎不太令人满意,Lion看来还有很大发展空间,期待早日放出正式版。最后祝教主身体健康。

以上

(转载)屏幕范围快照”Command + Shift + 4”功能补全说明

 

日本わかばマークのMacの备忘录网站针对Mac作业系统屏幕范围快照功能做了补充介绍,向来Mac使用者除了熟知组合键”command + shift + 3”全屏幕快照功能外,拖曳屏幕范围的快照功能”command + shift + 4”也相当实用,这里就”command + shift + 4”的补充功能进行说明。

 

 

相关的图示范例请参考原文,只要熟记组合键的应用,对于屏幕撷取的需求有相当助益;友站ApplePlan另整理了相关的快照进阶技巧,亦欢迎参考。

基本功能

     透过组合键,拖曳游标范围后,就能针对范围进行屏幕快照。

     透过组合键,按一下空白键后,再点按一下滑鼠键(click),即能针对单一执行中的视窗进行快照。

辅以option键

      再按下组合键后,先按住option键,屏幕拖曳范围的起点就能更灵活定位。

辅以shift键

      再按下组合键后,请先不要放开拖曳中的游标,确定范围的横(宽)或纵向(高)尺寸后,这时只要按住shift键,横向移动游标即能针对同样的高度延伸屏幕快照范围;反之,按住shift键后,纵向移动游标,即能针对同样的宽度,延伸所需的萤幕快照高度。

辅以space空白键

    按下组合键,并且确定屏幕快照的范围尺寸后,这时若按住空白键,屏幕快照范围能提供固定尺寸、随意的移动。

 

iOS 上搭建C/C++开发环境 Beta

11.02.24更新:这有一个别人写的简单版,更方便。

    先说一下效果吧,STL啥的试了几个可用,成功编译了我之前写的一个垃圾程序,过多的测试还没有做,应该能满足基础需求。

    标题之所以加了Beta,是因为笔者也是参考各路教程,东拼西凑才把GCC搭建好的,过程相当混乱,有些步骤也可能有遗漏,因此本文仅供参考,尽量不要完全遵照这个教程。

搭建过程如下:

  1. 当然是越狱,装Cydia,这个不多说了,有锁的注意,小心变砖。
  2. Cydia里安装OpenSSH,APT 0.6 Transitional,Aptitude,wget,unzip,zip
  3. SSH到你的iphone上,这里强烈建议把iphone的root和mobile用户的密码改了,保证机器的安全。
  4. 找一个你喜欢的文件夹:
    wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb
    dpkg -i libgcc_4.2-20080410-1-6_iphoneos-arm.deb
    apt-get install iphone-gcc ldid make
    wget下载的那个deb包之后可以删除,随你。另外libgcc那个不用费心去看是否有新版,就用这个就行。
  5. 下载这个附件,把里面的libSystem.dylib放到iphone的 /usr/lib/ 目录下
  6. 这一步仅供测试用,终端上输入:
    echo 'main() { printf("Hello, world!\n"); }' > hello.c
    gcc -o hello hello.c
    ldid -S hello
    ./hello
    ldid是给编译好的程序签名,要不然iphone不会让你运行
  7. 之后就有些混乱了,在Cydia里先后安装了GNU Debugger, C++ Standard Library, iPhone 2.0 Toolchain, 这里面也许有不需要的,但是不想再刷机测试一下。
  8. 现在如果我没有遗漏什么步骤的话,测试stdio.h等c的头文件应该是OK的,C++的iostream等好像还不行,编译时提示应该是找不到usr/include/c++/4.0.0/bits/c++config.h这个文件。此时把第5步中下载的那个附件中的include.tar.gz中的usr/include/c++/4.0.0/ 中的arm-apple-darwin8,拷贝到iphone /usr/include/c++/4.0.0/ 下,然后在bits/ 中建立arm-apple-darwin8/ 中所有文件的链接,因为这里有我们需要的c++config.h,直接拷贝这些文件到bits下也应该可以。
  9. 之后用g++编译一个测试文件出现的错误提示应该是找不到 -lstdc++,原因其实是缺少libstdc++.dylib这个文件,这个文件我是在XCode里面找的,尝试了几个找到了个好用的,但是不知道具体是哪一个了,第5步那个附件里也提供了,是从iphone中拷出来的,应该好用。

到此就应该能实现预期的目标了,我能回忆起的过程也就是这些了,大家有问题留言吧。

附参考文献:

  1. 【ipod4g出品】用 iPhone gcc 编译 iPhone SDK 游戏(真机开发、运行及调试) 
  2. iphone-gcc

Mac下为iTunes U添加字幕的方法

iTunes U的介绍等废话就不多说了,直接进入主题,使用一个叫iSubtitle的软件即可搞定,当然你还要有相应的字幕文件才行。经笔者测试,虽然该软件输出的文件为mov格式,但是itunes仍然可以正确识别并分类。支持字幕开关,不损坏原来的文件。同时支持iPod等设备,字幕效果也很赞,输出速度快,不支持批量操作算是一大遗憾,总体来讲还是很不错的。对于iTunes上下载的正版电影笔者没有条件测试,据说是不行的,有兴趣的可以尝试,软件的具体使用方法参见帮助,下载地址(2.3中文版),有问题请留言。

(END)