5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PDFファイルを一括でVectorのImagesetにするスクリプト

Last updated at Posted at 2014-10-14

Xcode6からPDF形式でのVector画像をImageAssetに登録できるようになりました。

x1のサイズのベクター画像を用意しておけば各種サイズはXcodeがよしなにしてくれるステキ機能ですが、一括で大量のファイルを登録する方法が分かりませんでした。
ドラッグ&ドロップすれば登録はできるのだけど、初期値がVectorになってない・・・

というわけで、単純なものではありますが、その登録のお手伝いをするスクリプトを書いてみました。

そもそも、xcassetsは中身は単なるフォルダとファイルなので、そこに同じようにファイルを設置してやればよさそうです。

スクリーンショット 2014-10-15 6.49.33.png

makeVectorAssets.sh

#/bin/sh

baseDirName="./Assets"

rm -fr ${baseDirName}

mkdir ${baseDirName}

contentsFilename="Contents.json"

for file in `find . -name "*.pdf" -type f`; do
	dirname=`basename ${file} .pdf`.imageset
	filename=${file}
	filebasename=`basename ${file}`
	mkdir ${baseDirName}/${dirname}
	cp ${filename} ${baseDirName}/${dirname}/${filebasename}
	
	contentsFilepath=${baseDirName}/${dirname}/${contentsFilename}
	
	echo "{"										>> ${contentsFilepath}
	echo "  \"images\" : [" 						>> ${contentsFilepath}
	echo "    {" 									>> ${contentsFilepath}
	echo "      \"idiom\" : \"universal\"," 		>> ${contentsFilepath}
	echo "      \"filename\" : \"${filebasename}\"" >> ${contentsFilepath}
	echo "    }"									>> ${contentsFilepath}
	echo "  ],"										>> ${contentsFilepath}
	echo "  \"info\" : {"							>> ${contentsFilepath}
	echo "    \"version\" : 1,"						>> ${contentsFilepath}
	echo "    \"author\" : \"xcode\""				>> ${contentsFilepath}
	echo "  }"										>> ${contentsFilepath}
	echo "}"										>> ${contentsFilepath}
	
done

不慣れなもので美しくありませんが許してください。

これを、pdfファイルがあるフォルダで実行すると、「Assets」というフォルダが作成され、その中にそれぞれのimagesetフォルダが出来ますので、このimagesetフォルダを、プロジェクトの Images.xcassets 以下にコピーしてやれば、Xcodeにも反映されるはずです。

スクリーンショット 2014-10-15 6.58.02.png

改造すれば、すでにx1、x2として作成してある画像リソースも変換することができるかと思います。

簡単ですが、こんなところで。

※実はこんなことしなくてもXcodeに良い機能があったらごめんなさい。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?