sos の 作業メモ

プログラミングや英会話学習、マイルや旅行、日常生活など。最近はWebFormなASP.NETのお守りがお仕事です。

日々の生活にhappyをプラスする|ハピタス Gポイント

2013-02-01から1ヶ月間の記事一覧

selectorが実装されているかどうかを調べる

iOS

protocolの@optionalなメソッドが実装されているかどうかを調べる方法。 プログラミングガイドで目にして、なるほど、こうやって古いバージョンでも動くようにつくるのかと関心していたのですが、いざとなると全く思い出せなかったのでメモ。 NSObject の re…

GCDでインターバルタイマー

iOS

インターバルタイマーを実装するのにお手軽なのは何かと考えて、NSTimerとか使った事のないクラスを調べるのも面倒なので、GCDを使う事にしました。何でも揃ってて本当に便利なGCDは手放せません。 さて、タイマーと言っても、実際にはdispatch_sourceの一つ…

@propertyと実体と@synthesize

iOS

さっき試してみて初めて気がつきましたが、 @propertyでプロパティと、'_' + プロパティ名の変数を自分で定義しても、 warningが出る事も無く、ちゃんと連動してくれるっぽい? 最近(というか4.5.2から)Xcodeを触り始めたので@synthesizeを使った事も無く、…

4SをiOS 6.1.1にアップデート

iOS

betaをいれようかどうしようか悩んでいるうちに、正式版がリリースされちゃいましたね。 さっそく、4Sをアップデート。なにやら4Sのみとのことで、Verizon版での6.1の不具合(異常に電力消費量が増える?)とか、その辺りに関連してでしょうか? au版では特に問…

shortの謎な挙動

short の ポインタ型を引数とするメソッドに、 shortの変数を渡してもwarningが出てこないんですが、C言語の仕様だとOKなんでしたっけ… void func(short* hoge); // こんな関数があったとして short val; func(&val); // これは正しい func(val); // こっち…

「GeChic On-Lap2501M」 バッテリ内蔵15インチはズルすぎる

Mac

会社から出る事はそれほど無いのですが、普段、こんな風に書籍以外は全て持ち出し可能なデバイスで固めた環境で仕事をしています。 中でもMBPの右側のサブモニタ「 13.3インチ 液晶モバイルモニター ON-LAP1302 for Mac 」は、mini display portにそのまま挿…

signed<->unsignedのキャスト

iOSのおかげで、久しぶりにみっちりとC言語に取り組んでいますが、 Javaな世界にどっぷり使っていたおかげで、符号の有無での変換のルールをすっかり忘れていました。 もちろんJavaでもunsignedな数字を意識することはありますが、あくまでbit操作してる時と…

某言語のモグラっぽいマスコットに良く似たかわいい奴

golangのマスコットに似たやつを身近な材料で作ってみたのですが、 せっかくなので記録に残しときます。 材料費0円の割に、それっぽくなったのではないかとおもいます。 ちょっと変えると、○とろにもなりそう…

Hang Drum いいな

hang insomniac jam これってHang Drumって言うんですね。 本物は零をつけ間違えたのかと思うほど高いけど、iOS用のアプリでも雰囲気は味わえるみたいです。 https://itunes.apple.com/jp/artist/dizzy-studios/id398378897 タッチの強弱で音量が微妙に変わ…

iOSアプリ開発者への道 その5 チームとDevCenter

iOS

その4の続き 公式ドキュメント一本を消化。一通り終わったら 総集編としてまとめないといけないですね… 公式ドキュメント 14. AppStoreでの公開に向けた開発 Teamの編成や、証明書やプロファイルの役割といった、自分でアプリの公開までを行う人にとっては…

受託でクライアントの開発Teamメンバーとして作業を開始する時のフロー

iOS

普段は自社(自分)のTeamの一員として、自分のアカウントでDevCenterにアクセスしているだけで充分なのですが、受託だと最終的にクライアントのTeamに所属しての作業が必要ですよね。 ということで、準備しないといけないことをなんだかんだとメモ。 iOSだけ…

アプリケーションの署名とプロビジョニングプロファイル

iOS

クライアントからiOS Developer TeamのInvitationがやってきたので、自分の会社のTeamで開発していたものを、そちら用のものにするための調査をしました。 こーゆー切替も初めてでわけがわからず、3ヶ月ぶりに証明書やプロビジョニングプロファイル作りにあ…

volatile ついでに atomic

JavaとObjective-Cのvolatileがなんか違うような気がするので調べてみました。 変数に対する修飾子のひとつ。 単語の意味は、揮発しやすいとか変わりやすい。 こんな名前になったのは、「何もしていないのに勝手に値が変わるかもしれませんよ」ってのを示す…

iOSアプリ開発者への道 その4 Stream

iOS

その3の続き 本の追加と公式ドキュメント一本を消化。 書籍 7. 改訂2版 Objective-C逆引きハンドブック Tips集。iPhone/iPadアプリ開発逆引き大全500の極意―Apple MacOS X Lion対応 iOS5 SDK/Xcode4対応とかぶる部分もあるが、こちらにしかかいていないこと…

NSStreamでクライアントとしてTCPソケット通信を行う おまけ TLSに対応

iOS

その3のおまけ プレーンな通信ができるようになったので、いよいよ次の段階、TLS(むかしはSSLって呼んでました)で通信できるように改造しました。 といっても、ROOT証明書がiOS側に組み込まれているサーバーに対する、クライアント認証なしの普通の通信だけ…

iOS 6.1.1 beta

iOS

6.1.1 beta公開ですか。 リリースノートを読む限りでは、地図(とナビ)がよくなっただけみたいですね。 どうせGoogleMaps for iOS使ってるから普段の生活には影響ないし(というかメイン端末は4.2.1なGalaxyNexus。N4欲しい…)ということで迷いますね… iOS屋に…

Objective-Cのリテラルと、ArrayとDictionaryのSubscripting

Objective-Cの文法を再確認しているところですが、リテラルの書き方をすぐに忘れるのでメモ。 あとNSArrayとNSDictionaryはSubscriptingでタイプ量が減らせるので、もっと利用するようにしないと。 NSNumber @数字 @1 NSString @"文字列" @"hoge" NSArray @[…

NSStreamでクライアントとしてTCPソケット通信を行う その3 完成

iOS

その2の続き まだ完全にテストはできていませんが、GCD専用で、メソッドが同期モードな、ソケット通信を行うクラスが出来上がりました。 クラス定義 命名規則等は慣れていないのですが、こんな感じで。 @interface TFTCPConnection : NSObject<NSStreamDelegate> @property (r</nsstreamdelegate>…

AndroidでUIActionSheetみたいなのを出したい?

Androidにあーゆー縦並びのボタンの文化はないから、AlertDialogでいいんじゃない?とか思ったりしますが、世の中では割と需要があるんでしょうか?(iOS->Android組?) んで個人的には、AlertDialogにカスタムViewを貼るのがいいんじゃないかなと思います。 …

GCDを使った同期通信処理の検討

iOS

ステートフルなプロトコルでサーバーと通信を行う時って、 サーバーに用意されている最大データ数を受信して 受信したいデータ数を送信して その数分だけのデータを受信して 受信完了ステータスを送信 こんな風に、同期モードでシーケンシャルに書きたくなり…

iOSアプリ開発者への道 その3 メモリ管理と同期

iOS

その2の続き ぼちぼちと読み進めてます。 公式ドキュメント 11. 高度なメモリ管理プログラミングガイド MMRでのメモリ管理のためのあれこれ。ARCを使わないなんて時間の無駄なので、これはもう読まなくても大丈夫なドキュメントだと思います。用語としてそ…

@propertyの属性

iOS

@property (strong, nonatomic) NSString* hoge とかの ()の中に書くやつ。 ARC環境下だと参照カウントの存在を忘れがちですが、プロパティとかの属性に気をつけないとたまにはまります。私の場合、まだまだひよっこでiOSのメモリ管理に慣れていないため嵌り…

CFHostによる名前解決

iOS

TCPソケット通信の記事に関連して、 CFHostを使いまわせば名前解決が最初の一度で済むなとかアホなことを考えて、ちょっと実装してみることにしました。 手順は公式ドキュメントのネットワーキングコンセプトの通りで、 CFHostCreateWithNameでCFHostRefオブ…

NSStreamでクライアントとしてTCPソケット通信を行う その2 クラス設計

iOS

その1の続き 手順はわかったので、実際に通信をするためのヘルパークラスを設計します。 delegateで非同期な通信が用意されているのは良いのですが、呼び出す側としては処理が面倒です。呼び出し元をGCDの並列キュー等の非同期で動かす事を前提として、ヘル…

Google AdSense 審査通過

昨日の記事で書いたとおり、Google AdSenseというかWeb広告というものを初めて申し込んだのですが、時間がかかると思っていた二次審査があっという間に終わり、先ほど審査通過のメールがやってきました。 48時間以内に配信開始らしいのですが、一体どういう…

Androidアプリ開発実践ノウハウ128 読みました

思ったよりもiOSのソケット通信が楽そうだったので、たまにはAndroid関連の本でも読んでおこうと、昨日届いたこれに挑戦してみました。 Androidアプリ開発実践ノウハウ128作者: 飯塚康至出版社/メーカー: 秀和システム発売日: 2012/12メディア: 単行本この商…

NSStreamでクライアントとしてTCPソケット通信を行う その1

iOS

今作っているiOSアプリは、以前に作ったAndroid版の移植物なんですが、アカウント認証がwebで、実際のデータは、Androidと共用の自作サービスでやりとりすることになってます。 サーバー側のアプリはTCPで特定のポートをListenし、てきとーに自分で定義した…

Google AdSenseとやらに初挑戦

長年Webシステムに携わっていますが、 (といっても、この数年フロントエンドの開発はほとんど無し…) Web広告の仕組みはなんとなく理解していても、実際に使った経験が全くなかったので、 はてなブログを有料版にするついでに、アフィリエイトとやらを導入し…

iOSアプリ開発者への道 その2

iOS

前のエントリ の続き 実際にアプリを書きながらなので、Tips集とDocumentationとネットの検索に頼る事が増えましたが、平行して少しずつドキュメント類を消化している毎日です。(相変わらず納期は厳しいけれど…) どこまで理解すればいいのかはわかりませんが…

Honya Clubの梱包がamazonっぽい

出社したところ、先週木曜日に注文した書籍が届いていたのでさっそく開梱。 今回はiOS関連2冊とAndroid関連1冊の計3冊だけだったのですが、箱の大きさもさることながら、 本の梱包の仕方もamazonっぽくなっていてびっくり。 しかしボンドのつけ方はまだま…