Help us understand the problem. What is going on with this article?

R.swift5.0でZeplinとの色の連携が完璧になった

R.swift5.0でZeplinについてのtipsです。

R.swift5.0未満のつらみ

R.swiftがCLRファイル形式しかサポートしていなかったので、せっかくZeplinがAsset Colorsを吐き出してくれるのに、R.colorが使えない...。(このCLRファイルが絶妙に使いにくいのです)

なのでZeplinで吐き出される自動生成のコードをXcodeのプロジェクトに追加して利用していました。この問題点は、デザインスペックの管理はZeplin、ソースコード上でのリソース管理はR.swiftに分離したいのに、一部ソースコード上でのリソース管理をZeplinが行なってしまうことです。

この下側のような自動生成コードを使っていました。
スクリーンショット 2019-09-15 15.32.59.png

R.swift5.0以降の嬉しさ

R.swift5.0のリリースノートの一文に

Removed CLR file support, use color resources instead

CLRファイルのサポートを取り除いて、代わりにカラーリソースを使うようにしましたと書いてあります。

これによって、R.swift5.0からはColor Assetsを参照できるようになったので、自動生成のコードを利用しなくても問題なくなり以下のようなフローに改善されました。

  1. Zeplinの「export to xcassets」を押す
    スクリーンショット 2019-09-15 15.47.39.png

  2. ビルドをかける

  3. R.colorで色を参照可能になる

超楽!何もしなくて良い!

これによって、色に関してはデザインスペック管理はZeplin、リソース管理はR.swiftという分離を図ることができました。

要望

これはXcode側の問題なのですが、fontをxcassetで定義してコードとストーリーボードから参照できるようになれば、Zeplinがxcassetにfont吐き出して、R.swiftがそれをR.fontで使えるようにして...。ってなりそうなので良いなーと思っています。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away