15
7

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.

初心者のためのbundle identifier(独自ドメイン)の設定とUnity上でのトラブル

Last updated at Posted at 2017-01-02

#Bundle Identifierと独自ドメイン
初心者がUnityでアプリを出そうと思うと

Androidでもiphone(iOS)向けでも
「Bundle Identifier(iOSではiPhoneBundleIdentifier)を独自のものにしなさい」
という指示を受ける。

私のようなプログラミング初心者からすれば「職業プログラマーじゃないし趣味レベルだから知ったことではない」と言いたくなるが
よそ様に迷惑をかける可能性があると聞けば、流石にそういうわけにもいかない。

そういうわけで、独自のidentifierを用意する必要がある。
通常これは、自分の所有しているドメインを使う。

たとえば、www.dokuzi-domain.comというドメインを所有しているなら
com.dokuzi-domain.wwwという名前で設定する。

しかし、企業ならともかく趣味プログラマーが独自ドメインなど持っているわけがない。

そういう人には、以下の素晴らしい善意のサービスを感謝して利用する。
http://www.java-conf.gr.jp/
http://www.java-conf.gr.jp/Package/naming/index.html

jp.gr.java_conf.yourname

というドメインを使わせていただくことが可能になる。

#Unity上でのトラブル
ところが、このサービスを利用するとUnityで1つだけ問題に陥る。

それは、Android/iOSで以下のルールが異なるということだ。

Android : bundle identifierに ‐(ハイフン) を認めていない
iOS : iphonebundleidentifierに _(アンダーバー) を認めていない

つまり、
Android向けに作るならばjp.gr.java_conf.yourname
iOS向けに作るならばjp.gr.java-conf.yourname
と書き分ける必要がある。

Android向けを作った後にiOS向けとして移植すると
iphonebundleidentifier has not been setup correctly
といったエラーメッセージを受ける。

私はコレを知らなかったので
「com.example.wwwなら通るぞ。iOS版だとjp.grがダメなのかな?」と勘違いしてしまった。

実は単にハイフンとアンダーバーではじかれていただけ・・・。

#追記
ちなみに初歩的な質問として「bundle identifier ってどこで設定するの?」という質問がありそうなので書いておくと

(1)Unity上側メニュー File -> Project SettingsでBuild Settingsを開く
(2)下側の小さなボタンPlayer Settingsを押してInspecterビュー(画面右側にある情報画面)を切り替える
(3)Android/iOSのタブを押して、Other Settingsという項目を見たら、設定場所がある
(Android/iOSタブがないという人はUnityインストール時に、Android向け/iOS向けの追加パッケージをインストールしてないかも?)

15
7
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
15
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?