sos の 作業メモ

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

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

iOS

iOS 6.1.3 正式リリース

iOS

DevCenterの方もβが取れてます。うちの4Sにも降って来ていたのでupdateしました。 例によってリリースノートが見つからないので、βの時に読んだもののうっすらとした 記憶しかないのですが、通信時の不具合の改善と、日本の地図が改善されたものだったような…

Xcodeが4.6.1になりましたが…(ちょっと追加)

なんだか通知がでたのでUpdateしてみましたが、 リリースノート を見ても4.6.1の情報が載ってないですよね? 何が変わったのかわからないのは不安なのですが、ま、アプリの申請も出したことだし、 iOS DevCenter見ても何も変わってないし、気にしない事にし…

iOSアプリ開発者への道 その6 アプリ申請

iOS

その5の続き 結局こちらで申請作業を行うことになったため、公式ドキュメントを2本消化。 公式ドキュメント 15. AppStoreへの登録に関するチュートリアル iOS Developer Programへの参加から始まるという、とても手取り足取りな代物ですが、開発とは関係な…

絵文字入りメールのまとめ

iOS

iOSから投げられる絵文字入りのメールに関しては、SBのSJIS絵文字なShift_JISか、Unicode6.0なutf-8となるため、フィーチャーフォンやSPモードといった、キャリアメールを含めての絵文字入りの受信メールは以下に分類される。 この分類は、gmail等の直接絵文…

iOSから送信される日本語テキストメールのcharsetを調査しました

iOS

本業の一つでメールを送受信するシステムのお守りをしている関係で、RFC822の系統や日本語の文字コードやら、Javaにおける文字の取り扱いに関してはそこそこ詳しかったりするのですが、最近そのあたりの研究を怠っているせいですっかり時代に取り残されてる…

Google Maps SDK for iOS を試してみました

2013/4/25 修正 ver.1.2.0からMarkerなどのOverlayの作成方法が変更になりましたので、記事を一部修正しました 2013/3/27 修正 Ver.1.1.2でLinkするライブラリが変更になりましたので、記事を一部修正しました API Keyもやっとこさ作れるようになりましたの…

やれやれ、今度は6.1.2ですか

iOS

ということで、iPhone4Sもアップデート。 こないだ6.1.1を出したと思ったら、すぐに6.1.2ですか…しかも前回直したつもりで直ってなかったところも直していると。 スマホのOSを常に最新のものにしておくのは好きな方なので構いませんが…エンジニアとしては、…

TestFlightでテスターを追加する時に、DevCenterでAdminな開発者がやらないといけないこと

iOS

既にTestFlightでAdHoc配布を行っているアプリに対し、新規のテスターさんを追加する手順のメモ。 簡単に言えば、新規テスターさんの端末のUDIDでアプリが動くようにするために、AdHocなProfileを更新する作業です。 招待メールを送信し、テスターのデバイス…

TestFlight使ってみました

iOS

TestFlight AdHoc配布用の証明書を使って署名したアプリを、ネットワーク経由で手軽に配布できるサービス。 β版や開発中のアプリをクライアントやテスターさんに配布するためのものです。 AndroidならDeployGateですが、iOSならこれ。 UDIDの収集や、配布対…

SQLite3を使うよ その3 読み込み

その2の続き 書き込めるようになったので、今度は読み込みです。 SQLを元にPreparedStatementを作るところまでは一緒で、あとは sqlite3_stepの戻り値がSQLITE_ROWの間、データをfetch(一レコードずつ読み込み)します 読み込み データタイプに応じた読み取…

SQLite3を使うよ その2 書き込み

その1の続き PreparedStatement データベースの用意ができましたので、次は値の読み書きに使えるPreparedStatementを作成します。 AndroidではsqlではなくContentValuesにカラム名とデータをセットしてinsertする方が好きな私ですが、iOSでは勝手が良く分か…

SQLite3を使うよ その1 データベース準備

CoreDataを一夜漬けでなんとかしてみようかとも思ったのですが、サーバーに送信するためにデータを保存しつつ、それを定期的に非同期で上げていくのにCoreDataみたいな大掛かりな永続化の仕組みは要らないよなと思い直し、SQLiteだけで処理することにしまし…

CLLocationManagerで位置情報を取得する(5にも6にも対応)

iOS

お次は位置情報。GPSに関しては、古くは15年位前の船舶用のものから、新しくは準天頂での滞在の長い方用のものまでいろいろとやってきましたが、携帯やスマホに搭載されるようになって、手軽にいろいろと遊べるようになりましたよね。 さて、以前の記事でも…

NSNotificationCenterでプロセス内通信

iOS

AndroidのBroadcastRecieverみたいなものはないのかと探していましたら、ちゃんとありますね。 NSNotificationCenter 通知を受け取りたいObserver(androidではReciever)がdefaultCenterに登録して、送りたい側が通知するというもので、プロセス内で非同期に…

あれ?Attitudeも要るの?

iOS

前の記事で加速度の取得ができるようになったのですが、端末の傾き(pitchとroll)も必要だったことに気づき、それならCMDeviceMotion使えばいろんなデータとれるしってことで修正。 [_motionMgr startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQu…

加速度を取得する & データはセマフォで保護しよう

iOS

iOSで加速度を取得するのにはいくつか方法があるらしく、古くはUIAccelerometer とかでやっていたようですが、5.0以降はCoreMotionフレームワークを使えとのことなので、それに従って実装してみました。 なお、CoreMotionでの方法にも2種類あって、ひとつはC…

アプリがフォアグラウンドにいる間だけ処理をする

iOS

アプリがフォアグラウンドにいる間だけ、何かを処理したいことってよくありますが、 ( インターバルタイマーみたいなやつ) UIApplicationDelegateのapplicationWillResignActive:だと、Notificationを引き出した時や、電話の着呼の状態でも呼ばれてしまい都…

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版では特に問…

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 @[…