先日、会社の後輩と ﹁AndroidのXMLをiOSでも共有できればいいのにね﹂ ﹁iOSってNSLocalizedString使っても文字列引数取るからそこで間違える可能性あるよね﹂ ﹁iOSでも色の定義を#RRGGBBで指定した方がいい﹂ なんて話していたのですが﹁・・・だったらR.javaみたいな仕組みを作れば良いのでは?﹂と思い これを実現するツールを作ってみました。 rdotm(R.m)というそのままの名前のツールです。 ちょっと分かりにくいかもしれませんが、以下のように、XMLで定義した文字列をObjective-Cのコードからアクセスできるようにします。 前提(Androidアプリデベロッパー以外の方へ) そもそもR.javaって何?という感じかもしれないので少し説明します。 Androidアプリ開発では﹁R.java﹂というファイルが自動生成されます。 これは、XMLで定義
![iOSアプリ開発でもAndroidのR.javaのような仕組みでリソースに安全にアクセスする - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/363e23aabc559f5afd8e9e12ad9ee0239e07aee7/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9aU9TJUUzJTgyJUEyJUUzJTgzJTk3JUUzJTgzJUFBJUU5JTk2JThCJUU3JTk5JUJBJUUzJTgxJUE3JUUzJTgyJTgyQW5kcm9pZCVFMyU4MSVBRVIuamF2YSVFMyU4MSVBRSVFMyU4MiU4OCVFMyU4MSU4NiVFMyU4MSVBQSVFNCVCQiU5NSVFNyVCNSU4NCVFMyU4MSVCRiVFMyU4MSVBNyVFMyU4MyVBQSVFMyU4MiVCRCVFMyU4MyVCQyVFMyU4MiVCOSVFMyU4MSVBQiVFNSVBRSU4OSVFNSU4NSVBOCVFMyU4MSVBQiVFMyU4MiVBMiVFMyU4MiVBRiVFMyU4MiVCQiVFMyU4MiVCOSVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NWYzYzdjOTU0MGYzODYwM2M0ODZlMmViZGY5OGNjZWU%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa3NvaWNoaXJvJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04NGFkZTRlNzhkNTNkOTY5MzM2NmJjNWM3ZWU3Y2FhYg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D4f609367f5351835e2996c99427bf17a)