(メモ)MacのUnityプロジェクトでMessagePack for C#を使えるようにするまでの手順

MacのUnityでMessagePack for C#(https://github.com/neuecc/MessagePack-CSharp)を導入しようとしたときに毎回つまづいてしまうので解決方法を備忘録として。

Mac用に改変しているためWindowsなどでこのままだと使えなくなってしまうはずだが、コードを修正すれば使えるはず(そのうち追記したいです)

 

環境

  • Mac OS Big Sur 11.6
  • Unity 2020.3.30f1
  1. mpcをプロジェクト内に配置

     リリースページから最新のmpcをダウンロード、解凍して対象のUnityプロジェクト配下に配置する。
    自分の環境だとosxの下のmpcがUnix実行ファイルではなく書類として認識されてしまっていたのでコマンドラインosxのフォルダまで移動して以下のコマンドを実行
    chmod 755 mpc
  2. MessagePackWindow.csを修正

    InvokeProcessStartAsync("dotnet",...)となっている3箇所に関して、"dotnet"の部分を"usr/local/share/dotnet/dotnet"に変更。
    また、1.でプロジェクトに配置したmpcを使用するようにするためにProcessHelper.InvokeProcessStartAsync("mpc",...)となっている箇所に関して、"mpc"の部分を"${Application.dataPath}/../mpc/osx/mpc"に変更。

 

これで使えるようになりました。

 

(メモ)Visual Studio, GitHub, Sourcetreeの連携

  1. Sourcetreeの[新規]タブにある[既存のローカルリポジトリを追加]からローカルにあるバージョン管理したいVisualStudioのプロジェクトを選択する。
  2. GithubのNew repositoryを選択してリポジトリを作成。Initialize this repository with a READMEにはチェックを入れない。.gitignoreとlicenceもそのまま。
  3. Quick setupにあるurlをコピーする(A)。このurlはClone or downloadからも見ることができる。
  4. VisualStudioでプロジェクトを開き、[バージョン コントロール]→[ブランチとリモートを管理する]を選択。[リモートソース][追加]で、(A)でコピーしたurlを貼り付ければ完了。Sourcetreeでコミット、プッシュした時にGitHubにも反映されていることが確認できるはずです。

Xcode使用でMacのストレージがほとんどなくなってしまった時の対処

ストレージの少ないMacBook Proを使っているせいで、すぐにストレージが足りなくなってしまう。

どうやらXcode使用によってできるファイルで圧迫されてしまっているようなので、以下の手順で定期的に整理することにしている。

 

Derived Dataの削除

プロジェクトごとに生成される中間データ。

削除しても次に開いた時にまた生成されるので、しばらく使わないであろうもの含めて全削除

sudo rm -rf ~/Library/Developer/Xcode/DerivedData/*

 

Archivesの削除

Archiveした時に作られるもの。

AppStoreの審査に通ったらXcodeから消すようにする。

 

ここまででだいぶ空く。 

 

あとで追記するかもです

UnityのiOSプロジェクトにAdMobを導入した時にXcodeのエラーを消してアプリを立ち上げるまでにやったこと

Unityプロジェクトにインタースティシャル広告を表示するためにAdMobを導入したところ、Xcodeでビルドしてもアプリが立ち上がらなくなってしまった。

解決するまでに時間がかかったたため、今後のための備忘録を残します。

 

 

環境

 

AdMobのunitypackageをプロジェクトに導入する

https://github.com/googleads/googleads-mobile-unity/releases

ここからダウンロードして、プロジェクトにインポート

 

SDKの導入(1)

 https://developers.google.com/admob/ios/download

ここからGoogleMobileAdsSdkiOSをダウンロードし、

  • GoogleMobileAds.framework
  • GoogleAppMeasurement.framework

の2つをプロジェクトに追加する。

 

SDKの導入(2)

f:id:d114:20190715002323p:plain

適当な.hファイルまたは.mファイルを選択して、Framework dependencyから

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics
  • CoreTelephony
  • EventKit
  • EventKitUI
  • MessageUI
  • StoreKit
  • SystemConfiguration

にチェックを入れておく。

ビルド後にXcodeからこれらのフレームワークを追加してもいいけど、ここでやっておいたほうが便利。

 

 Info.plistの編集

f:id:d114:20190715004523p:plain

 プロジェクトにあるInfo.plistにKey: GADApplicationIdentifier, Type: String, Value: AdMobで割り振られたアプリID(テストの場合はca-app-pub-3940256099942544/1033173712)と、

Key: GADIsAdManagerApp, Type: Boolean Value: Yes の2つを追加する。

(GADIsAdManagerAppはUnityのInfo.plistから追加してもビルドの生成ファイルで反映されなかったので、Unityでのビルド後にXcodeから毎回変更している)

 

ここまでで、一旦ビルドする。

 

.xcworkspaceを開く

AdMobを導入した場合、.xcodeprojではなく、.xcworkspaceを使う。

 ビルドが成功した時に出来上がるプロジェクトファイルに.xcworkspaceがない場合、ターミナルからプロジェクトファイルまで行き、

pod init

pod install

とうつ。

cocoapodがない場合は、その前に

sudo gem install cocoapods

pod setup

として、cocoapodの環境を構築しておく。

 

 

不要なものもあるかもしれません。

書き忘れがなければ、以上で大丈夫なはずです。