Node.js操作生成iOS配置文件实例

353 阅读1分钟

该实例通过读取iOS模版配置文件和模版shell脚本,自动生成对应项目所需要的配置文件和推包脚本

var dirname = "aaaa";
var filetype = "alpha";
var bundleid = "com.bitech.BiPark-ckc-Mobile.alpha";
var appname = "朝科创";

var fs = require("fs");
var path = require("path");

fs.mkdir("../" + dirname, function(err) {
  if (err) {
    console.error(err);
  }
  fs.mkdir("../" + dirname + "/" + filetype, function(err) {
    if (err) {
      console.error(err);
    }
    // 根据模版自动创建html文件
    var indexhtml = fs.readFileSync("index.html");
    var indexhtmlstr = indexhtml
      .toString()
      .replace(/dirname/g, dirname)
      .replace(/filetype/g, filetype)
      .replace("bundleid", bundleid)
      .replace("appname", appname);
    fs.writeFileSync(
      "../" + dirname + "/" + filetype + "/" + "index.html",
      indexhtmlstr
    );
    // 根据模版自动创建config文件
    var indexhtml = fs.readFileSync("iOSconfigure.sh");
    var indexhtmlstr = indexhtml
      .toString()
      .replace(/dirname/g, dirname)
      .replace(/filetype/g, filetype);
    fs.writeFileSync(
      "../" + dirname + "/" + filetype + "/" + "iOSconfigure.sh",
      indexhtmlstr
    );
  });
});

模版index.html代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>items</key>
	<array>
		<dict>
			<key>assets</key>
			<array>
				<dict>
					<key>kind</key>
					<string>display-image</string>
					<key>url</key>
					<string>http://assets.bitech.cn/mobile/ios/dirname/filetype/icon.png</string>
					<key>needs-shine</key>
					<true/>
				</dict>
				<dict>
					<key>kind</key>
					<string>software-package</string>
					<key>url</key>
					<string>http://assets.bitech.cn/mobile/ios/dirname/filetype/index.ipa</string>
				</dict>
			</array>
			<key>metadata</key>
			<dict>
				<key>bundle-identifier</key>
				<string>bundleid</string>
				<key>bundle-version</key>
				<string>1.0.0.1</string>
				<key>kind</key>
				<string>software</string>
				<key>title</key>
				<string>appname</string>
			</dict>
		</dict>
	</array>
</dict>
</plist>

scp自动推包shell脚本iOSconfigure.sh代码如下:

cd /Users/bitech/Desktop/工作盘/移动端ipa
scp -i  ~/.ssh/id_rsa -P 52222 -r mobile/ios/dirname/filetype mobileadmin@101.132.142.57:/mnt/nginx/html/mobile/ios/dirname