iOS开发进阶(十三):脚手架创建iOS项目

文章目录

一、前言

项目初期,需要搭建项目基本框架,为此离不开辅助工具,即脚手架。当然,IDE也可以实现新建空白项目,但是其新建后的项目结构可能不符合预期设计,故需要通过脚手架创建项目方式统一项目开发规范,对于开发管理至关重要。

脚手架shell文本命令(createiOS.sh)如下:

powershell 复制代码
git clone http://88.66.99.83/BPPlatform/vast_app_template.git
cd vast_app_template
/usr/local/cocoapods/bundle/bin/bundle-env ruby create_xcode_project.rb ../ TestSC com.boc.test
open ../

其中,create_xcode_project.rb文件内容如下:

javascript 复制代码
require File.expand_path('../proj_creator', __FILE__)
require File.expand_path('../file_migration', __FILE__)
require File.expand_path('../conf_substitution', __FILE__)
require File.expand_path('../create_main_workspace', __FILE__)

# # create program
# puts "\033[32m'=============START============='\033[0m\n"
# creator = ProCreator.new
# creator.start
#
# # migrate files
# puts "\033[32m'files setting...'\033[0m\n"
# mig = FileMigration.new
# mig.migration
#
# # replace key words
# puts "\033[32m'content setting...'\033[0m\n"
# subOp = ConfSubsitution.new
# subOp.start
#
# puts "\033[32m'pod install...'\033[0m\n"
# puts "\033[32m#{`pod install`}\033[0m\n"
#
#

rootpath = ARGV.shift

projName = ARGV[0]

bundleid = ARGV[1]

widgets = ARGV[2]

generator = WorkspaceGenerator.new(rootpath, projName, bundleid, widgets)

generator.create

执行shell脚本:

powershell 复制代码
./createiOS.sh

生成后的项目结构如下图所示:

由项目结构可知,脚手架中对项目做了很好的分层处理,便于项目解耦。

二、xcode-select 命令

Print or change the path to the active developer directory. This directory controls which tools are used for the Xcode command line tools (for example, xcodebuild) as well as the BSD development commands (such as cc and make).

-help可查看xcode-select存在哪些命令:

当安装多个xcode的版本,使用该工具使用指定的版本。

  • -p 或者 --print-path 查看当前开发者目录,也即是xcode的版本目录。
  • -s <path>--switch <path> 选择xcode版本。
  • --install 安装;
  • --version 查看版本;
  • --reset 恢复默认;
  • sudo rm -rf /Library/Developer/CommandLineTools 强制删除安装目录下的文件;
powershell 复制代码
sudo xcode-select --switch Xcode.app

三、拓展阅读

相关推荐
报错小能手4 小时前
Swift EventBus讲解
开发语言·ios·swift
lifewange6 小时前
Idea如何调大字体
java·macos·intellij-idea
sghuter7 小时前
HTML头部元信息避坑指南
c语言·前端·html·cocoa
eastyuxiao7 小时前
MMM 工具一键去水印+检测 批处理脚本(Windows/Mac 双版本)
人工智能·windows·macos·ai音乐去水印
Ching·7 小时前
MAC mini上面安装虚拟机windows11的安装详细过程及其问题解决
windows·macos·wmware fusion
峥嵘life7 小时前
Android 切换用户后无法获取 MAC 地址分析解决
android·python·macos
鸠摩智首席音效师7 小时前
如何在 MacOS 上安装 VirtualBox ?
macos
HiDev_7 小时前
iOS 蓝牙开发进阶:彻底理解 CBManager(状态、权限与正确使用方式)
ios·objective-c·蓝牙·ble
承渊政道7 小时前
【动态规划算法】(斐波那契数列模型详解)
数据结构·c++·学习·算法·leetcode·macos·动态规划
承渊政道8 小时前
【动态规划算法】(从入门到精通:路径问题)
数据结构·c++·学习·算法·leetcode·macos·动态规划