美文网首页命令行
iOS开发之命令行的魅力

iOS开发之命令行的魅力

作者: 风清水遥 | 来源:发表于2015-12-26 16:42 被阅读293次

    iOS开发之命令行的魅力

    命令行使用及安装

    作为一个iOS开发者,命令行是我们必须使用的,下面我就简单介绍下命令行的魅力吧!第一次写博客,还是有点小激动 的!!!

    注意:.如果系统有些文件夹不能创建,不能修改请看这里(命令行没有中文符号)

    系统:本人系统Mac OS X 10.11.2  XCode7.2

    1.文件(夹)的显示与隐藏

    显示:defaults write com.apple.finder AppleShowAllFiles -bool true

    隐藏:defaults write com.apple.finder AppleShowAllFiles -bool false

    2.Mac OS X 10.11+下root权限不能修改/bin 等文件夹解决办法

    重启电脑,按住 Command + R,进入到恢复界面

    打开Terminal终端,然后输入

    csrutil disable

    如果想改回来,将disable改成enable即可

    原因:10.11系统将Rootless修改成了,enable,所以我们需要关掉它, 重启电脑

    1.命令行界面配置

    相信我们总是有那么点小任性,希望自己的编程软件有自己独特的主题,但是往往系统默认的又不是我们想要,下面就教大家怎么修改自己漂亮的终端(Terminal),

    一般终端配置文件在~/.bash_profile(没有手动创建)这个文件夹里面,在后面添加

    #for color

    export CLICOLOR=1

    #\h:W\u\$

    export PS1='\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\]’

    启动看看,效果是不是变样了,另外可以修改 终端->偏好设置->下图

    接下来就是我自己配置的颜色怎么样

    2.vim简单配置

    我只介绍简单的一种,配置用户模式下的vim ,终端输入

    vim ~/.vimrc    //没有就创建

    文件里面输入或者粘贴 (前面是我的行号,不要粘贴)

    1 set number  "设置行号

    2 syntax on    "语法高亮

    3 set tabstop=4 "tab键间隔距离4

    4 set autoindent      "自动对齐

    5 set gdefault "行内替换

    6 set ruler "在编辑过程中,在右下角显示光标位置的状态行

    7 set showmatch "高亮显示对于括号

    更多Vim,请参考

    Mac 下Vim配置:  http://blog.sina.com.cn/s/blog_5a6efa330101cumx.html

    Mac 下Vim命令:http://blog.csdn.net/xdrt81y/article/details/24062117

    终端和Vim都配置好了,那么我们也开始转入正题了,

    3.cocoapods安装与使用

    我们都知道cocoapods是一款xcode导入包的工具,给github紧密结合可以说是天衣无缝,另外还有carthage 命令(后面再说),这种包的管理模式大大节约我们来管理更新项目库的时间。开始之前,先把我们电脑里面的准备环境安装或者更新一遍吧!

    1.Homebrew安装与使用

    在Mac下Homebrew好像默认安装了,安装是(注意命令行没有中文符号)

    ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”

    其他基本使用

    • brew search formula # 搜索软件包

    • brew install formula # 安装软件包

    • brew remove formula # 移除软件包

    • brew cleanup formula # 清除旧包

    • brew list # 列出已安装的软件包

    • brew update # 更新 Homebrew

    • brew upgrade # 升级软件包

    • brew home formula # 用浏览器打开

    • brew info formula # 显示软件内容信息

    • brew deps formula # 显示包的依赖

    • brew server # 启动 web 服务器,可以通过浏览器访问

    http://localhost:4567 来通过网页来管理包

    • brew -h # 帮助

    • brew versions formula # 列出软件包的版本

    homebrew官方github:https://github.com/Homebrew/homebrew/tree/master/share/doc/homebrew#readme

    2.RVM安装

    安装RVM

    curl -L https://get.rvm.io | bash -s stable

    安装时可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。 然后,载入 RVM环境(新开 Termal 就不用这么做了,会自动重新载入的

    安装完成后,检查一下是否安装正确

    rvm -v

    3.安装 Ruby

    列出已知的ruby版本  ,会显示最新的版本

    rvm list known

    然后安装最新,更新也是这个方法

    rvm install 2.0.0

    管理Ruby版本,需要执行下面的命令将指定版本的 Ruby设置为系统默认版本

    rvm 2.0.0 --default

    你也可以用其他版本号,前提是你有用 rvm install安装过那个版本,查看版本

    ruby -v

    4.准备工作做好了,下面来真正安装吧(前面的准备工作,不是必须的,Mac OS内置的有

    $ sudo gem update --system // 先更新gem(建议VPN),国内需要切换源

    $ gem sources --remove https://rubygems.org/

    $ gem sources -a http://ruby.taobao.org/

    $ gem sources -l

    http://ruby.taobao.org/

    上面是切换成淘宝的,国内好使,不影响pod版本

    $ sudo gem install cocoapods // 安装cocoapods

    $ pod setup

    和安装过程是一样的,再次查看版本

    $ pod --version

    0.39.0

    那么安装成功了,

    想了解更多,去cocoapods官网:https://cocoapods.org

    4.git安装与使用

    1.下载dmg 安装,地址: http://git-scm.com/downloads

    2.命令行安装

    sudo git clone https://github.com/git/git

    3.Homebrew安装

    sudo brew install git

    4.另外还可以其他方式安装,详情看下面链接

    Mac OS X Git安装教程:http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html

    简易git安装: http://www.cocoachina.com/bbs/read.php?tid=200557

    git命令: http://justcoding.iteye.com/blog/1830388

    git:更新问题: http://segmentfault.com/q/1010000000095119

    下面给张图片,git命令的图片(图片来源别人一篇博客,忘记帖子了)

    5.xcode build  命令行打包上传

    对于一个iOS开发新手来说,让给APP打包,感觉好麻烦,下面带你看命令的神奇效果

    工程文件为test,首先切换到该目录。

    1.清除编译对象

    xcodebuild -target test clean  可以简写成 xcodebuild  clean

    2.编译

    方法1:xcodebuild -target test -configuration Release

    方法2:xcodebuild -target test  可以简写成 xcodebuild  执行后会有bulid文件

    3.打包

    xcrun -sdk iphoneos PackageApplication -v ./build/Release-iphoneos/test.app -o ~/test.ipa

    解释:-v 后面是app文件及所在路径,-o后面则是存放的ipa文件名及预存放的位置

    这里感觉是不是还是很麻烦,那么用脚本吧,

    脚本步骤: 1.打开命令行

    2.拖动ipa-build(脚本(shell)命令文件)到命令行(需要下载脚本仓库)

    3.拖动项目主目录

    4.回车就OK了(包在项目根目录build文件夹里面)

    详情请看上面网址:http://blog.csdn.net/ccf0703/article/details/8588667

    github脚本仓库:https://github.com/webfrogs/xcode_shell

    /**************************************************************************************/

    补充:看到脚本命令多么神奇了吗,其实就是把上面直接xcodebuild命令写成脚本形式,其实喜欢脚本的朋友可以学习一下脚本的基本语法使用:给你们推荐两个网站,

    http://www.w3school.com.cn

    http://www.runoob.com

    可以学习基本的语言,比如:PHP,Python,ruby,shell,这些都是脚本语言,当然主流的语言也是应有尽有,当然学习这些脚本语言还得有一个编辑器,下面给你们推荐一款好用的:

    Sublime3(大概11MB):http://www.sublimetext.com/3 (有Mac,windows,Ubuntu)版本,这是一个非常使用的工具,各种插件功能强大,

    6.Mac 安装WinRar命令行解压缩

    有些人是不是给我一样有强迫症,不想电脑装太多没有用的软件,那么我们就来装些命令行软件吧

    • 下载RAR 5.3.0 for Mac OS X(目前最新)国内下载较慢,

    官网:http://www.rarlab.com/download.htm

    • 双击解压或命令行tar解压文件:rarosx-5.3.0.rar 生成目录rar

    • 终端下:cd  ~/Downloads/rar (即进入rar目录下)

    • 使用如下命令分别安装unrar和rar命令

    安装unrar命令:sudo install –c –o$USER unrar /bin

    安装rar命令:sudo install –c –o$USER rar /bin

    注意:命令的空格,如果成功,终端输入:rar,可以查看rar命令帮助

    • 压缩文件

    rar命令: rar a  生成文件名.rar  要压缩的文件或文件夹

    rar a my.rar  your

    • 压缩文件

    rar  e  你的文件或文件夹    (解压到当前文件夹)

    unrar  x  test.rar            (解压到当前文件夹)

    • 如果文件名含有空格,用单引号  :’test.rar’

    7.Mac WebSever & PHp推送

    一:Mac端服务器配置

    1.启动Apache

    启动:sudo apachectl start

    停止:sudo apachectl stop

    重启:sudo apachectl restart

    查看 Apache 版本 httpd –v

    2. PHP

    OSX 10.11.2 已经预装了 PHP 5.5.30, 编辑 httpd.conf

    sudo vi /etc/apache2/httpd.conf

    取消这一行前边的注释符号 #

    LoadModule php5_module libexec/apache2/libphp5.so

    重启 Apache

    sudo apachectl restart

    查看 Apache 信息

    3.权限( 不是必须的)

    为了方便程序在 ~/Sites 目录下读写

    sudo chmod -R a+w ~/Sites/testsite

    若担心安全问题,可以使用 _www 权限,若这样做当需要 admin 权限需做验证:

    sudo chown -R _www ~/Sites/testsite

    二 PHP推送

    1.执行PHP后台推送之前,需要你导出p12证书,具体请看下文

    http://blog.csdn.net/x32sky/article/details/17527655

    2.执行生成两个P12文件

    1. 需要通过终端命令将这些文件转换为PEM格式:

    openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

    openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

    2. 如果你想要移除密码,要么在导出/转换时不要设定或者执行:

    openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

    3. 最后,你需要将键和许可文件合成为apns-dev.pem文件,此文件在连接到APNS 时需要使用:

    cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

    例如:

    openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12

    openssl pkcs12 -nocerts -out key.pem -in key.p12

    cat cert.pem key.pem > anps_dis_fan.pem

    3.PHP推送代码

    既然证书创建好了,web服务器创建好了,那么自己就快要通过浏览器访问PHP文件,接口,下面是一个apns_push.php文件用来给手机发推送的,可以自己来调试APP的推送功能了。

    1.创建推送的PHP文件,放到系统  /Library/WebServer/Documents/

    2.启动web服务,浏览器访问,

    3.输入地址和devicetoken参数,也可以写死自己APP里面生成的自己手机的token

    4.访问就可以看到输出,手机APP就会收到推送了

    /***************************************php代码开始***************************/

    $message,#推送的消息

    'sound' => 'default', #$sound = "ping1.caf";

    'badge' => 1

    );

    /* End of Configurable Items */

    $ctx = stream_context_create();

    // anps_dev_club是在同文件夹下的pem证书(配置证书)

    stream_context_set_option($ctx, 'ssl', 'local_cert', 'anps_dev_club.pem');

    // assume the private key passphase was removed.(输入密码)

    stream_context_set_option($ctx, 'ssl', 'passphrase', $pass);

    // ssl://gateway.sandbox.push.apple.com:2195 这个是苹果开发测试地址

    // ssl://gateway.push.apple.com:2195 苹果发布运行地址

    $apnsHost='ssl://gateway.sandbox.push.apple.com:2195';

    // $apnsHost='ssl://gateway.push.apple.com:2195';

    #好像这个用发布和调试都可以

    $fp = stream_socket_client($apnsHost, $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

    #发布

    // $fp = stream_socket_client($apnsHost, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);

    if (!$fp) {

    print "Failed to connect $err $errstrn";

    return;

    }

    else {

    print "Connection OKn-----";

    }

    # 把字典转化成 json字符串

    $payload = json_encode($body);

    // 这是去掉空格,什么的,因为token里面含有一些不用的符号

    $msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload;

    print "sending message :" . $payload . "n".$msg;

    // 发生推送

    $result=fwrite($fp, $msg,strlen($msg));

    fclose($fp);

    ?>

    /***************************************php代码完毕***************************/

    8.sqllite 和MySQL命令行操作

    1.Sqlit3 Command line

    • 打开创建数据库:在你想创建或者打开的目录下执行

    sqlite3 db.sqlite

    • 创建表:

    create table table1(userID integer primary key autoincrement,

    name varchar(20),

    age int,

    tel varchar(11)

    );

    • 给表增加字段

    alter table table1 add contry varchar(50);

    • 表的增加、删除、修改、查询

    增加:insert into table1 values(NULL,’fan’,20,’182743847);

    删除:delete from table1 where userID=3;

    修改:update table1 set name=’fan1’ where userID=1;

    查询:select * from table1 order by name limit 10; desc;//asc

    • 删除表:

    drop table if exists table1;

    • 从一个表里面移除一个字段的方法(创建新表)

    create table table2 as select userID,name,age from table1;

    • 表重新命名

    alter table table2 rename to table1;

    • 帮助

    .help

    • 查看表结构:

    .tables;  表个数;.schema table1; 表结构

    更多操作:http://blog.csdn.net/majiakun1/article/details/41281935

    http://www.cnblogs.com/einyboy/archive/2013/03/12/2955378.html

    2.mysql 命令行

    使用MySQL需要安装MySQL服务,可以去官网下载:

    http://www.mysql.com/downloads/

    • 创建表

    create table fan (userID int primary key auto_increment,name varchar(20),age int,tel varchar(11));

    • 登录远程主机 (本地与远程操作是一样的)

    ssh username@192.168.1.1

    • 显示数据库

    show databases;

    • 使用数据库

    use dbname;

    • 显示表

    show tablename;

    • 显示表结构

    desc tablename;

    • 显示创建表结构

    show create table tablename;

    • 其他命令与SQLite3基本一样

    8. cocos2dx连接xcode

    官网下载:http://www.cocos.com/download/#  (最新版本V3.9)

    首先解压cocos2dx-3.9,把它放到你容易找到的地方。

    然后打开命令行 cd 到cocos2dx-3.9 文件根目录下

    命令行输入  ./setup.py  回车即可完成安装

    创建项目

    cocos new -d ~/Desktop/Game -l cpp -p com.fan.game FanGame

    解释:创建一个包名是com.fan.game的FanGame项目语言是cpp(c++)

    cocos new –d 目标路径

    -l  语言 有cpp,lua,js

    -p 包名

    最后一个参数:项目名

    命令就可以去找到iOS文件夹启动项目运行就可以看看效果了

    题外话

    1.搜索文件(夹)

    find ./ -name ‘fan*’

    find ./ -iname ‘fan*’

    mdfind -name 文件名

    mdfind ‘fan’  查询所有包含fan的文件

    mdfind -onlyin  ~/Library  plist    这条命令可以搜索Library文件夹中所有plist文件。

    # 找到全部不包含i开头的PNG图片,是图片的执行删除

    # find . ! -name "i*.png" -name "422333323223*.png" -exec rm -rf {} \;

    # for i in `find . -name "*.png"`

    # do

    #        newname='echo $i|sed'

    #        # `mv $i $newname`

    #        pwd

    # done

    find . -name 'CVS' -exec rm -rf {} \;

    # 查找当前文件夹下,是’CVS’的文件(夹)执行删除操作

    # linux或Mac 下执行.sh文件总是提示permission denied

    # 如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限)

    # chmod 777 *.sh

    #  or

    # chmod +x  *.sh

    哎呀,写个博客还是很累人的,我只是写了一些常用的,希望有些东西能帮到你们,有什么问题可以底下留言,或者邮箱留言,下面我要睡一觉了

    个人邮箱: fanxiangyang_heda@163.com

    个人github: https://github.com/fanxiangyang

    相关文章

      网友评论

        本文标题:iOS开发之命令行的魅力

        本文链接:https://www.haomeiwen.com/subject/lokbhttx.html