とあるエンジニアの拡張現実

普段の仕事で見つけた発見や面白い事書いていこうと思います(´◉◞౪◟◉)

iOS8から従来の方法で横画面固定をすると黒帯が入る件

先日Xcode6にアップデートした時に起きたので忘れないうちに書いておきます!!

iOS7までの従来の方法で横画面固定をしていたのですが、iOS8に対応するべくXcode6にアップデートして実行すると

f:id:ads666:20140930173030p:plain

 

なんじゃこりゃぁぁぁぁ!!!!!!!!!!
仕様なんか変わったのか!?!?バグか!?!?ああん!?!?

って事で調査しました。

結論だけ申し上げますと、
AppDelegateのdidFinishLaunchingWithOptionsに定義していた

self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
の下に
[self.window setFrame:[[UIScreen mainScreen] bounds]];
を追加して対処しました。

f:id:ads666:20140930173101p:plain

これでよし。
原因が分かるまで手こずった事は内緒にしたいです。

WiFi-Directに悩まされMessagePackに悩まされ・・・

先日2週間でWiFi-Directのアプリを上げないといけないとゆう話をしたんですが、

1対1ならできたが1対複数ができん・・・・

とゆうか検討がつかんっっw

こりゃやばいなw

ってか2週間でアプリ3本の間違いだったとゆう・・・・w

ミニゲーム制作もありました・・・・・

プログラマ俺一人なのだが・・・

 

JAVAのネットワークも全然抜けとる・・・また覚え直しだなw

つい1、2ヶ月前にネットワークアプリ一度したんだがな・・・wおかしいなw

とゆうわけで最近日付変わるまで残りながら制作をやっててUnityがまるで

触れてない・・・作りたいアプリもあるのに・・・・

 

 

そういえば最近仕事で重宝してるアプリケーションを紹介します。

CacooとゆうUMLなどから基本的な図まで割となんでもできる

Chromeアプリを見つけてよく使ってるんですが、これめちゃいいですよ☆

 

最近はそれで一度フロー作ってから制作してます!

いつもいらない裏紙に書いてたんですが、いつでもどこでも見れるのでこっちを

多く使ってます。

 

まだまだ会社なんでWiFi-Directやらんとな・・・

早く終わらせてARアプリ制作もしないとだぜ

 

さぁみんな!!週末向けて頑張っ・・・・会社誰もおらんがな・・・・

 

Unity始めました

ずっと書いてなかったなぁ~。。。

最近仕事が忙しすぎる・・・・2週間でWiFi-DirectとARだと!?!?!?
2本同時制作とはなかなか斬新だな。まぁ別会社の仕事が落ち着いてるけど。

だがもう一つしようとしてる事がおろそかに~~~・・・

そんな中最近ゲーム制作に興味持ちまして、C++かな~と思ってたんですが
Unityとゆうゲームエンジンを見つけまして、最近その本で勉強してます。
C++にも興味深々なので本は買いましたw

Cはポインタ操作くらいまでは勉強したけどそれっきりだもんな~・・なにかで使えるまでにはしないとね

それはそうと、ゲーム制作面白いのだがwwwww
手始めにUnityでは恒例の玉ころがしから始めてパーティクルで火だしたりしてみましたww

面白いwww
しかもパーティクル綺麗wwww
androidOpenGLでゴリゴリしてた頃が懐かしいwwwww

これで勢い付き色々作成してみようと考えてたんですが案がなかなかね・・・
まぁ全然使いこなせてないのだが・・

とりあえず一人称の宝探しでも作ってみようかな(´◉◞౪◟◉)


とりあえず明日は早めの潮干狩りにいくんだ

今日はツインテールの日!!!だけどEclipseのプラグインインストールでエラー・・・負けない!!


今日はあずにゃんな俺得な日!!!!
ツインテールマジックにかかりたい今日この頃ですが非リア充な俺からすると
縁のない話なわけですよ・・・

あずにゃんどこかに落ちてないだろうか・・・・と思いながら今日は
GAEの本が来たので環境構築しました。

って言っても基本的に仕事で毎日使ってるからプラグインのダウンロードだけだったんだけど、、、、、、エラー出すよね~~~~

「No repository found containing」

????
なんじゃろ・・・・・
しかし今日はツインテールの日だしこんなんに負けてらんねーぞ!!!!!

これの解決方法が分かったので書いておこうかと思います。

まずこのエラーが出ても焦らない!!!(1時間くらいあたふたしてました)

まずEclipseのウィンドウを開く。
そして、設定をポチリ。
その中のインストール/更新の左の▼を押す。
すると使用可能なソフトウェア・サイトの設定を見る。
その一覧に、作業対象として入れたプラグインがあるはず。
それをポチリ。
すると右にある項目の再ロードが押せるので押す。
そのままヘルプから新規ソフトウェアのインストールで
先ほど再ロードしたプラグインを選択し、もう一度すると・・・・

いけたーーーー!!!!!!!!!!!!!!!!

ドヤァ(´◉◞౪◟◉)

AndroidのContextについて

今日ある友達から話を聞いてる時にContextの使い方について聞かれた。

よくプログラムを組む時にコンストラクタとかにthis渡していませんか??

まずActivityのContextがなぜthisなのか??

それはActivityがContextクラスを継承しているからです。なのでthisが使えるのですが、
このContextが実は割りと曲者だったりする訳ですw

まずよく使うContextにActivityのContextとApplicationのContextがあります。

ActivityのContextはよく使われるthis。
ApplicationContextはgetApplicationContext()です。

ではどのように使い分けるのか?間違うとどう問題あるのか?について書きます。

ActivityのContext。。。実はActivityのライフサイクルに依存します。
つまりActivityが破棄される時に破棄しないと・・・・メモリリークします。
なぜ破棄しないとまずいのか?メモリリークする原因とは?となると思いますが、
Contextが保持されたままだとActivityは論理的に終了します(onDestroy)が、
Activityのオブジェクトは破棄されません。finalize()が呼ばれない状態です。
finalize()とはClassがメモリも含め終了した時にGC実行時に呼ばれます。
finalize()はObjectクラスのメンバです。
要するにGCの対象とならないんですね!!

Activityは頻繁に破棄、生成されます。
回転しただけでもデフォルトの設定だとonDestroyされるんですよ・・・やっかい・・
デフォルトではシステムが現在のActivityを破棄しその状態を保持しながら新しいActivityを生成しようとするからなんです。なのでActivityのライフサイクルに依存させないとまずいんですね・・・



ではApplicationContext。。。これはアプリケーションに依存します。
つまりアプリケーションが生きている限り有効です。
アプリケーションに依存するクラス、複数のクラスから呼ばれたりするなどの時に使いましょう。ちなみにダイヤログでこのContextは使えません(´◉◞౪◟◉)
忘れましたがなんとかってエラーがでたような・・・

自分もまだまだ使い分けできてる自信はありませんが、前に調べてたので
なんとか説明できたけど合ってるよな???・・・・・うむ・・・

まとめると
ActivityContextはActivityと運命共同体
ApplicationContextはApplicationと運命共同体
コレだぜ(☝ ՞ਊ ՞)☝

そういや最近たまこマーケットのあんこちゃんが可愛くて眠れません。。。。