投稿日:2015-08-19 Wed
Unityで開発しているiOS/Android向けアプリにWebViewを実装しようとgreeさん公開のプラグインを使用しました。
いちばんハマった所は
UnityからのBuildおよびXcodeのArchiveまでは正しく動作するのに
AdHoc書き出しを試みると“Codesign Failed”が出て失敗すること
です。
まず「Codesign Failed」と言う事で証明書関連のエラーだと思い込み
キーチェーンアクセスやApple Member Center、Xcodeの設定ばかり見ていました。
しかし、OSXやXcodeを最新にアップデートしても一向に解決せず
試しに以前ArchiveしたものをAdHoc書き出しすると無事成功するという結果に。
この時点で、証明書そのものが直接の原因ではなく
Unity側かXcode側に実装・設定した項目を疑うことにしました。
ここで見つけた記事にヒントが隠されていました。
http://qiita.com/altemina/items/6823331aa5c9a3044e92
Assets/Plugins/****.bundleのプロビジョニングを参照しにいっているとのこと。
なるほど、これなら“Codesign Failed”が出るのも納得できます。
今回、WebView.bundleというファイルが該当していたので、こいつが原因のようです。
記事の通り、Select platforms for pluginをEditorに設定し直して
再度Buildしたところ、解決せず……(※)
ここでもうひとつ思い出しました。
WebView.bundleは、64bit対応させるために私が再書き出しした物だったのです。
http://qiita.com/kwst/items/193bf1aa737cb3810ad9
ということは、証明書やプロビジョニングは同じCreatewave製の
はずなのですが……ますます分からなくなってきました。
最後に気付いた事実によってようやく解決しました。
このWebView.bundleが、何故Assets/Plugins/直下にあるのだろうという事です。
iOS用のPluginならiOSフォルダ内に含めるはずなので
疑問に思って調べた所、どうやらMacOS用のPluginであることが判明しました。
ということは、今回iOS/Android向けのため、不要なファイルだったと言う事です!
http://qiita.com/kwst/items/193bf1aa737cb3810ad9
を参考に作業していて、Unity上でのWebViewの動作は
諦めていた私にとっては不要だったのです。
<解決方法>
Unity上からWebView.bundleを削除します。
するとWebViewObject.csがエラーを吐いてしまうので
プリプロセッサでUNITY_EDITORを完全無視するように書き換えます。
before:
#if UNITY_EDITOR || UNITY_STANDALONE_OSX
after:
#if UNITY_EDITOR
#elif UNITY_EDITOR || UNITY_STANDALONE_OSX
あとXcodeのCopy Bundle Resourcesから
WebView.bundleを含めないよう設定する事を忘れないように。
これでめでたくAdHoc書き出しが成功するようになりました。
(※)
これは、XcodeのCopy Bundle Resourcesに
WebView.bundleの設定が残っていたためだと思われます。
UnityのBuildは、Xcode側の設定を新たに追加することは自動で行いますが
今回のような.bundleの削除は対象外なのだと思われます。
ありがとうございます。
まったく同じ部分で悩みまくってました。
どうしても解決できずUniWebViewを買うか迷ってるところこちらの記事をみつけて解決しました。
ありがとうございました。
まったく同じ部分で悩みまくってました。
どうしても解決できずUniWebViewを買うか迷ってるところこちらの記事をみつけて解決しました。
ありがとうございました。
2015-08-24 月 11:04:50 |
URL |
開発K
[編集]
同様の問題で困っていました。ありがとうございます。
解決策についてですが、WebView.bundleのInspectorでAny Platformを外せばソース変更なく解決できました。
解決策についてですが、WebView.bundleのInspectorでAny Platformを外せばソース変更なく解決できました。
2015-10-01 木 16:23:44 |
URL |
[編集]
△ PAGE UP