XcodeとC言語ソース

XcodeでC系ビルド忘備録

※2019/4/30 Xcode10系時点の記事です
なるべく最新の記事を参考にしてください。
Apple様は、コンパイラなどを独自のものに変えて、仕様が変わりやすいです!tdbとかな!
Xcode用のFramework作成作業とか記事あるけど古くて微妙!

必要なもの

Xcodeでの取り込み

  • makeしてaファイル&dylink(静的リンク)を作成(Simulator用と実機用で分けたほうが良いのか?お作法がよくわからん)
  • XcodeのBuild Settingへ上記ファイルフォルダとHeaderフォルダ指定
  • 上記2ファイルをFrameworkへ追加 & 大体はC++の Standerd Library使ってるから libc++.tdbを追加
    そして知る驚愕の事実 dylink は古くて tdb で間接指定するらしい。。。めんどくさ
  • 大体これでビルドエラーはなくなるはず!(まあtdb作らんと arコマンドでoファイルに解凍しないといけないぽいし複数使ってるとライブラリがかぶったり。。。ほんとめんどくさい)
  • この後も罠がいっぱい!swiftだとheader取り込む用のBridge Headerファイル作るとかFrameworkにするとか!

よいC++ライフを!

BIGLOBE退会の落とし穴

すいません、今回はプログラマな話はないです!
5月に引越しをして、BIGLOBEのネット環境移転をやってみた雑感です!
(違約金払って退会しようと思ってます!)

※注意:良い点もあるはずなのですが、ダメダメな点を上げています。 *1

1年で退会しようかと思ったら、最低期間は2年。。。その後も2年更新

退会以外では、違約金が9,500円取られます(フレッツ光マンションタイプ)
退会月が過ぎると、また2年しばりという、長すぎやしませんかね?
2年更新で違約金とか「消費者庁に相談しようかしら」レベルでないわー

引越し/退会の手続きはネット上からできると思いきや。。。電話Only

会員ページに色々項目はあれど、結局電話しろという、
引越しの電話窓口と契約電話窓口別だからと、たらいまわしにされるし。。。
昔どっかの(GR○E)退会ページ探し炎上したの思い出したわ
パンくずリストには、「本手続き」の項目があるのにね~詐欺やん!
なにかと、退会やめるボタンでかいし
と、イライラ感がMAXな感じです!
f:id:yymochi:20170508034312p:plain  

電話で決まった工事日の内容等をメール文面などの形で送ってこない。。。

すごい前時代な対応ですよ~
自分はオジサンなので、覚えてられんよ!
そして、後から反故にしそうな臭いが。。。

※現在進行形で決まったはずの工事日を、どんどん後ろにずらされてます。
その間も、料金徴収するみたい。。。ほんと消費者庁に。。。

感想

kakaku.comで安いからと飛びついたら、逆に高くなったわ!
NEC子会社だから大丈夫と思ったけど、サービスが前時代的でダメダメだわ!

最近プレミアムプランとかいうのをはじめて、通信速度速いですよ!と歌ってるけど
それって、通常契約は遅いっていってるのと同義ジャン!
※実際すごい遅かったです
DNSホストをGoogleに変えたら早くなったから、意図的に速度制限してるぽい気がします!)

*1:私的な感想なので、参考にする程度でよろしくお願いします~

Unity リソース管理 2

リソース管理の理想の実現に向けて

注意点
  • Unity5.3.4 時点での記事です。
  • 追記(2019/4/30):Unity公式が出している Asset BundleBrowser が非常におすすめ! assetstore.unity.com

  • 追記(2019/4/30):下記のような実装がすでにあるのでこの記事へたどり着いた方は Addressable Asset System をお使いください。  ※個人的には、表面上取り繕っただけで、根本的な使いにくさの改善にならないのがネックです。

要件
  • 単一のパスを渡せばリソースがどんな環境でもロードできる!

    • Resources.Loadを上書きできるようにする(Wraperクラスをつくる)
    • 抽象クラスから各種Loaderを作れるようにする(あとから環境追加に対応できるようにする)
  • ロード(ビルド)モードが選択もしくは半自動で設定される

    • 初期化処理時にモード選択する
        * リソースの優先度を決める(複数の方法から優先順位でロード方式を決定する)
実現に向けた要件詳細
  • パス形式固定
  • モード種類決定(Editor/Build時)
  • Resources.Load関数を上書きできるWraperクラスで必要な関数定義
  • リソースLoadの優先度決定

大体、大枠はこんな要件で、ソースを組んでいくかな。。。 実際の技術交えて、来週から本気出す?感じで記事を書いていく予定

Unity リソース管理 1

リソース管理の理想

理想

  • 何も考えずにResources.Loadだけ使いたいんじゃ!(無理だがな!公式も用意しといて使うなとかどんな罠だ)
注意点
  • Unity5.3.4 時点での記事です。
  • 追記(2019/4/30):Unity公式が出している Asset BundleBrowser が非常におすすめ! assetstore.unity.com ※Unity2019になっても、根本システム改変せず Addressable Asset System でお茶を濁そうとしているのには。。。やっとPrefab in Prefab来たーが2つ同時編集できないのが不満。。。
問題点
  • Resourcesフォルダ運用からのAssetBundle化がうまくいかない問題
    • Pathの大文字/小文字問題
    • 既存リソースをまとめる作業が大変
      • パスからAssetBundle名が逆引きできなくなる
    • AssetBundleの仕組みがいけてない問題
      • WWWCacheの動作がいけてない
        • 基本、非同期Loadしか対応していない
      • Unity公式のAssetBundleLoaderがいけてない。。。 使い方のお手本としては最高!
  • 追記(2019/4/30):
    • Manifest単体ファイルの情報がHash値だけと少なすぎる (せめてサイズとか、ユーザー付与バージョンとか、差分情報がわからないとAssetBundle本体ダウンロード判定やユーザー表示に使えない)
    • ダウンロード済みのファイルチェックがしにくいレベルを超えて終わってる。。。キャッシュは使っちゃならんね。。。ファイルで保存して自分管理
開発時のリソースロード方法の移行理想

UnityEditor

  1. Resourcesロード
  2. AssetBundleロード
    1. 直接リソース(AssetDatabase)
    2. ローカルファイル(WWWCache or LoadFile)
    3. ネットワークファイル([Download & LoadFile] or [WWWCache])

SmartPhone上

  1. AssetBundleロード
    1. ローカルファイル(WWWCache or LoadFile)
    2. ネットワークファイル([Download & LoadFile] or [WWWCache])

次へ

torimomo8.hatenablog.com

メモ

Markdown記法
はてなで使えるMarkdown記法まとめ - 開発メモ