跳到主要内容

4 篇博文 含有标签「ruby」

查看所有标签

ubuntu 安装jekyll

· 阅读需 2 分钟
xuenhua

安装ruby

# sudo apt-get update
# sudo apt-get install ruby
或者
# sudo apt-get install ruby2.0
#不安装dev安装jekyll会报错
apt-get intall ruby-dev

安装jekyll是提示需要ruby >2.4,apt安装为2.3,需要从源码安装

$ tar zxvf ruby-2.4.0.tar.gz
$ cd ruby-2.4.0
$ ./configure
$ make
$ sudo make install

查看版本ruby -v如果还是旧版,删除旧版重新安装或者修改链接

如果已经安装了低版本的ruby,默认安装在/usr/bin目录下,若此时执行ruby -v,还是会显示低版本的ruby,若默认使其执行2.4版本的ruby,则可通过软链接的方式实现

ruby -v
find /usr -name "ruby"
sudo rm /usr/bin/ruby
sudo ln -s /usr/local/bin/ruby /usr/bin/ruby
ruby -v

更新国内镜像

https://gems.ruby-china.com

$ gem update --system # 这里请翻墙一下
$ gem -v
2.6.3
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.com
# 确保只有 gems.ruby-china.com

你可以用 Bundler 的 Gem 源代码镜像命令。

$ bundle config mirror.https://rubygems.org https://gems.ruby-china.com
这样你不用改你的 Gemfile 的 source。
source 'https://rubygems.org/'
gem 'rails', '4.2.5'
...

安装jekyll

$ gem install jekyll bundler
~ $ jekyll new my-awesome-site
~ $ cd my-awesome-site
~/my-awesome-site $ bundle install
~/my-awesome-site $ bundle exec jekyll serve
# => 打开浏览器 http://localhost:4000

RVM 使用指南

· 阅读需 1 分钟
BY

RVM 常用的命令整理

RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。<https://rvm.io/>

我相信做为iOS开发者,对ruby的使用都是从安装 CocoaPods 开始的吧~

Note:这里所有的命令都是再用户权限下操作的,任何命令最好都不要用 sudo.

RVM 安装

	$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile

修改 RVM 的 Ruby 安装源到 Ruby China 的 Ruby 镜像服务器,这样能提高安装速度

	$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db

Ruby版本的安装与切换

列出已知的 Ruby 版本

	rvm list known

安装一个 Ruby 版本

	rvm install 2.2.0 --disable-binary

切换 Ruby 版本

	rvm use 2.2.0

如果想设置为默认版本,这样一来以后新打开的控制台默认的 Ruby 就是这个版本

	rvm use 2.2.0 --default 

查询已经安装的ruby

	rvm list

卸载一个已安装版本

	rvm remove 1.8.7

参考:<https://ruby-china.org/wiki/rvm-guide>

iOS自动打包

· 阅读需 3 分钟
BY

利用xcode的命令行工具 xcdeobulid 进行项目的编译打包,生成ipa包,并上传到fir

现在网上的自动打包教程几乎都还是xcodebuild + xcrun的方式先生成.app包 再生成.ipa包,结果弄了一整天硬是没成功~

后来发现PackageApplication is deprecated,悲剧。然后手动压缩的 .ipa包因为签名问题无法装到手机上。

后来用了archive + -exportArchive终于可以了~

正文

Xcodebuild

xcodebuild 的使用可以用 man xcodebuild查看。

查看项目详情

	# cd 项目主目录
xcodebuild -list

输出项目的信息

	Information about project "StackGameSceneKit":
Targets:
StackGameSceneKit
StackGameSceneKitTests

Build Configurations:
Debug
Release

If no build configuration is specified and -scheme is not passed then "Release" is used.

Schemes:
StackGameSceneKit

要留意 ConfigurationsSchemes这两个属性。

自动打包流程

生成 archive

生成archive的命令是 xcodebuild archive

	xcodebuild archive -workspace ${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${build_configuration} \
-archivePath ${export_archive_path}
  • 参数一:项目类型,,如果是混合项目 workspace 就用 -workspace,如果是 project 就用 -project

  • -scheme:项目名,上面xcodebuild -list中的 Schemes

  • -configuration :编译类型,在configuration选择, Debug 或者 Release

  • -archivePath:生成 archive 包的路径,需要精确到 xx/xx.archive

首先需要创建一个AdHocExportOptions.plist文件

导出ipa包

导出.ipa包经常会出现错误,在ruby2.4.0版本中会报错,所以请使用其他版本的ruby,最初的原因是使用了 ruby2.4.0 进行编译时出现的错误。

解决方法是低版本的 ruby 进行编译,如使用系统版本:rvm use system。后面升级macOS系统(10.12.5)后发现 ruby2.4.0 能成功 导出ipa包了。

导出ipa包使用命令:xcodebuild -exportArchive

	xcodebuild  -exportArchive \
-archivePath ${export_archive_path} \
-exportPath ${export_ipa_path} \
-exportOptionsPlist ${ExportOptionsPlistPath}
  • archivePath:上面生成 archive 的路径
  • -exportPath:导出 ipa包 的路径
  • exportOptionsPlist:导出 ipa包 类型,需要指定格式的plist文件,分别是AppStroeAdHocEnterprise,如下图

选择这三个类别需要分别创建三个plist文件:

  • AdHocExportOptionsPlist.plist

  • AppStoreExportOptionsPlist.plist

  • EnterpriseExportOptionsPlist.plist

上传到 Fir

将项目上传到 Fir

下载 fir 命令行工具

	gem install fir-cli

获取 fir 的 API Token(右上角)

上传

	fir publish "ipa_Path" -T "firApiToken"

自动打包脚本

再次提醒,请不要使用 ruby 2.4.0 运行该脚本!,若在 ruby 2.4.0 下编译失败,请切换低版本的ruby。

切换完毕记得重新安装 fir 命令行工具。

脚本我fork了 jkpang 的脚本进行修改,添加了自动上传到 fir 的功能。

使用方法在Github上有详细介绍。

GitHub:<https://github.com/qiubaiying/iOSAutoArchiveScript>

利用 自定义终端指令 简化打包过程

以zsh为例:

	open ~/.zshrc

添加自定义命令 cd + sh

	alias mybuild='cd 项目地址/iOSAutoArchiveScript/ &&  sh 项目地址/iOSAutoArchiveScript/iOSAutoArchiveScript.sh'

这样打开终端输入mybuild,就可以轻松实现一键打包上传了

本文首次发布于 BY Blog, 作者 @柏荧(BY) ,转载请保留原文链接.

CocoaPods 安装和使用

· 阅读需 4 分钟
BY

最近换了新机器,重新搭建了开发环境,其中当然包括 CocoaPods

装完顺便更新下 CocoaPods 安装文档。

正文

安装

CocoaPods 是用 ruby 实现的,要想使用它首先需要有 ruby 的环境。

升级ruby

查看ruby版本 $ ruby -v

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

CocoaPods需要2.2.2版本及以上的,我们先升级ruby。

使用 rvm 安装 ruby

curl -L get.rvm.io | bash -s stable source ~/.bashrc source ~/.bash_profile

切换 ruby 源

ruby 下载源使用亚马逊的云服务被墙了,切换国内的 ruby-china源<https://ruby.taobao.org/>已经停止维护,详情查看公告):

	$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.org

安装并切换 ruby

这里不建议安装最新的 2.4.0 版本,因为次版本的 ruby,在xcodebuild 自动打包时,会出现问题! 所以退一步,安装 2.3.3版本~

	rvm install 2.3.3 --disable-binary
rvm use 2.3.3 --default

到此ruby升级完毕.

有关RVM的使用可以看这篇 RVM 使用指南

安装CocoaPods

  1. 安装
		sudo gem install -n /usr/local/bin cocoapods
  1. 升级版本库
		pod setup

这里需要下载版本库(非常庞大),需要等很久

Receiving objects: 72% (865815/1197150), 150.07 MiB | 190.00 KiB/s

或者直接从其他装有cocoapod的电脑中拷贝~/.cocoapods到你的用户目录,然后再 pod setup会节省不少时间

使用

创建 podfile 文件

绝大多数人创建podfile都是用 vim Podfile 命令

其实pod 已经提供了创建 podfile 文件的命令,在工程目录下

pod init

将会自动生成 podfile 文件,并且为你写好了格式,稍做修改就能使用

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'projectName' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for projectName

target 'projectNameTests' do
inherit! :search_paths
# Pods for testing
end

target 'projectNameUITests' do
inherit! :search_paths
# Pods for testing
end

end

其中的

target 'projectNameTests' do
inherit! :search_paths
# Pods for testing
end

target 'projectNameUITests' do
inherit! :search_paths
# Pods for testing
end

是指定在单元测试和UI测试时导入的测试框架,若没有使用测试框架可以删除。

修改iOS版本,添加Alamofire

# Uncomment the next line to define a global platform for your project
# platform :ios, '8.0'

target 'projectName' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for projectName

pod 'Alamofire', '~> 4.4'

end

加载代码库

使用下面的命令,直接在本地版本库中查找对应的代码库信息,不升级版本库,节省时间

pod install --verbose --no-repo-update

若找不到库,再使用下面的命令

pod install

版本号

对版本号的操作除了指定与不指定,你还可以做其他操作:

  • \>0.1 高于0.1的任何版本
  • \>=0.1 版本0.1和任何更高版本
  • <0.1 低于0.1的任何版本
  • <=0.1 版本0.1和任何较低的版本
  • 〜>0.1.2 版本 0.1.2的版本到0.2 ,不包括0.2。 这个基于你指定的版本号的最后一个部分。这个例子等效于>= 0.1.2并且 <0.2.0,并且始终是你指定范围内的最新版本

结语

关于CocoaPods的安装和使用就这样简单的介绍完了,至于更多使用的方法(平时也用不到~)你可以用下面命令查看

$ pod

若对 CocoaPods 的个人仓库感兴趣,也可以看看我的这两篇博客

本文首次发布于 BY Blog, 作者 @柏荧(BY) ,转载请保留原文链接.