git branch | grep feature | xargs git branch -D
でいける
git branchでブランチ名を全部出力して、それをgrepして、xargsに渡しているだけ。
だいたい以下のようなエラー文
GoogleAppMeasurement/WithoutAdIdSupport/GoogleAppMeasurement.framework/GoogleAppMeasurement(APMAdExposureReporter.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file XCFrameworkIntermediates/GoogleAppMeasurement/WithoutAdIdSupport/GoogleAppMeasurement.framework/GoogleAppMeasurement' for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
ENABLE_BITCODEをNOにしたらエラーを回避できるという記事をよく見かけたけど、うまくいかず...
UnityFrameworkのENABLE_BITCODEもNOにしたらうまくいった。メインターゲットだけENABLE_BITCODEをNOにするだけだとエラー回避できなかった。
Unityのビルドのポストプロセスで処理する。だいたい以下のような感じ。
public static class XcodePostProcessBuild { [PostProcessBuild] public static void OnPostProcessBuild(BuildTarget target, string path) { if (target != BuildTarget.iOS) { return; } var project = new PBXProject(); project.ReadFromFile(PBXProject.GetPBXProjectPath(path)); project.SetBuildProperty(project.GetUnityMainTargetGuid(), "ENABLE_BITCODE", "NO"); project.SetBuildProperty(project.GetUnityFrameworkTargetGuid(), "ENABLE_BITCODE", "NO"); project.WriteToFile(PBXProject.GetPBXProjectPath(path)); } }
curlを使って取得しようとするも、
{"object":"error","status":404,"code":"object_not_found","message":"Could not find database with ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Make sure the relevant pages and databases are shared with your integration."}
というエラーになる
どうやらかつてはIntegrationを招待するという手順だったのが、今は右上の ...から"コネクトを追加"をするように変わった模様。
チュートリアルページも古いままだったのでハマった。
こういう攻撃用のinterfaceを作って、各実装を作る時、
interface IAttackController { UniTask AttackAsync(); } class NormalAttackController : IAttackController { public async UniTask AttackAsync() { ... //なんか非同期の処理 } }
オブジェクトによっては、攻撃したくないからEmptyAttackControllerってなる時がある。
その際に、
class EmptyAttackController : IAttackController { public UniTask AttackAsync() { } }
っという何もしないメソッドを持つクラスを作ってみた。
しかし、これだと返り値が無いよって怒られる。
public async UniTask AttackAsync() { }
っと書くと、今度はawaitしてないよってwarningが出る
こんなwarning↓
warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
なので、
public async UniTask AttackAsync() { await UniTask.Yield(); }
としてみたり、
public async UniTask AttackAsync() { await UniTask.Delay(0); }
としてみたりしたけど、これだと1Frame待ってしまう。
public async UniTask AttackAsync() { await UniTask.CompletedTask; }
これでいけました!これなら待たないです!
新しくチームに入った人のマシンでgit cloneしてきたもののプロジェクトを開くと、
Could not create asset from ...
ImportFBX Errors:Couldn't read file ...
といったエラーが出て困った。
git LFSをinstallしてもらってCloneし直してもらったら解決した。
自分がアーティストさんにデータ作ってもらうときに、こうだとありがたいってことをメモ
一般的にこういう画像データより
こういう風に分けてもらったほうが、それぞれを使い回せるので便利だしメモリ節約になる
こういうデータ👆より、
こういうデータ👆のほうが調整しやすい。
プログラマーの方で文字は載せるので、アーティストさんの画像の方には文字は載せないで欲しい。
こういうボタン👆も...
こういう画像👆さえ用意してもらえばOK
そして、ローカライズを考えて文字装飾はタイトルロゴなど一部に留めるように。
こういうデータが一個あれば...
Unity側でこういうのも作れるし、
こういうのも作れるし、
こういうのも作れます。
っというのもUnity側で、
こんな感じでコーナーを設定して、コーナーはそのままに真ん中の部分を拡大したオブジェクトを作ることができるから。さらに画像のPixel Per Unitという値をいじることで画像におけるコーナー部分の占める比率も変えることができるので上記のように色んなバリエーションが作れます。
こういうデータがあると、プログラマー側(Unity Editor側)で、
とか
とか
を作れるので便利だしメモリ節約になる。
けど乗算だとアーティストさんが意図した見た目にならないこともあるようなのでアーティストさんと要相談。
他にも思いついたら追記します。