タグ

tipsとiosに関するar_tamaのブックマーク (36)

  • Cocoaの日々: [iOS] Keychain Services とは

    他アプリケーションが格納した Keychain Services 内の情報へのアクセス Mac OS X の場合はユーザが許可を与えれば他のアプリケーションの情報へアクセスすることができる。一方、iOS の場合、アプリケーションは自身が保存した情報のみアクセスが行える。他のアプリケーションの情報へは基的にアクセスすることができない。ただし同じプロビジョニングプロファイルを使ってビルドされたアプリは設定により情報を共有することができる(後述)。 iOS での特記事項 iOS には単一のキーチェーンのみ存在する(Mac OS X は複数)。 iOS の場合、PC接続時にストレージの内容は暗号化されたままバックアップされる。これを復号化するパスワード(keychain password)はバックアップされない(iOSデバイスの中から外に持ち出されない)。 Keychain Service はプ

    Cocoaの日々: [iOS] Keychain Services とは
  • iOS5でジオコーディング/逆ジオコーディングを行う | CrossBridge

    iOS5でジオコーディング/逆ジオコーディングを行う方法を説明します。 ジオコーディングとは地名、住所などから緯度/経度に変換することです。逆ジオコーディングはその逆で、緯度/経度から地名、住所に変換することです。 逆ジオコーディングは全てのiOSで行うことができますが、正ジオコーディングはiOS5以降の機能なので注意が必要です。 それでは続きでサンプルソースと共に説明します。サンプルソースはこちらです。 CLGeocoderクラスでジオコーディング行う iOS5からCLGeocoderクラスが追加されました。CLGeocderクラスは正ジオコーディングと逆ジオコーディングの両方を行うことができます。正引きから見てみましょう。 - (void)geocorde:(NSString *)addressString { CLGeocoder *geocoder = [[[CLGeocoder

  • [iOS] InstrumentsでAutomationを実行しながらメモリ使用状況を監視したい | DevelopersIO

    Automation AutomationとはUIに対する操作を自動化する仕組みで、UIを操作する一連の流れを継続的にテストしたい場合や、UI操作をひたすら繰り返すような耐久テストを行う際に有効です。Automationは少々とっつきづらいイメージがあるかもしれませんが、iOSのAutomationはIDEに統合されているためとても簡単に始める事ができます。 Automationを実行するための準備 Automationを実行するための準備は、実際に実行したいAutomationの実行手順の定義を用意するだけです。AutomationはInstrumentsの中のInstrumentとして機能が提供されており、Automationの実行手順の定義を指定すると、それに従ってUIの操作を実行してくれます。実行手順の定義さえ用意しておけば、あとはAutomation Instrumentが全て面

    [iOS] InstrumentsでAutomationを実行しながらメモリ使用状況を監視したい | DevelopersIO
  • NSManagedObjectでTo-Many関連を使用したときにコードの自動生成がされないバグの解決方法 - A Day In The Life

    Core Data の NSManagedObject クラスで以下のように To-Many(One-To-Many) 関連を使ったときにコードの自動生成をすると実装コードが生成されない場合があります。 通常の To-Many 関連では問題が起こらないのですが以下のように Ordered(順序) を指定してから NSManagedObject クラスのサブクラスの自動生成をすると実装コード(.m ファイルのコード)の一部が生成されません。 これは Xcode のバグみたいです。最新の Xcode 4.6.1 でも発生しています。 自動生成されないコードはプログラマ自身が実装する必要があります。以下は Transaction(取引) クラスと Journal(仕訳明細) クラスに Ordered の To-Many 関連を設定する場合のコードの実装例です。 #import "Transact

    NSManagedObjectでTo-Many関連を使用したときにコードの自動生成がされないバグの解決方法 - A Day In The Life
  • ios - Parse Issues in NSObjCRuntime, NSZone, and NSObject

    ar_tama
    ar_tama 2013/03/29
    .cをプロジェクトに混在させるとビルドがコケるおはなし
  • Push Notification おさらい - その後のその後

    プッシュ通知を実装するときに、「バックグラウンドで通知受けたときはapplication:didFinishLaunchingWithOptions:とapplication:didReceiveRemoteNotification:、どっちが呼ばれるんだっけ?」とかなんだかいつも自信なくなってきてドキュメントを見返したりしてしまうので、ドキュメントと、実際の動作を確認した内容をまとめておきます。 (参考ドキュメント) Local Notification および Push Notification プログラミングガイド(日語) (英語・最新版) アプリがバックグラウンドで動作中に通知が配信された場合の挙動 この場合、システムは、警告の表示、アイコンのバッジの表示、また、サウンドの再生を行う ことで通知を提示します。 アクションボタンがタップされると、システムはアプリケーションを起動しま

    Push Notification おさらい - その後のその後
  • 1行で導入するback gestureの話とUINavigationBarを拡張した話 - blog.ishkawa.org

    一昨日、conferenceWithDevelopersのLTで、1行で導入するback gestureの話をしてきました。 LTの内容と、やろうとして間に合わなかったことの紹介を書きます。 1行で導入するback gesture iPhone 5が発売されて、UINavigationBarのbackButtonItemに指が届きにくくなったので、 スワイプして戻るという動作を実装するアプリが増えてきたように思います。 これを実装するにはUIGestureRecognizerを使ってあれこれするのですが、 毎回これを書くのはだるいので、UIViewControllerを拡張して 1行で導入できるようにしたライブラリを書きました。 ISBackGesture 使い方 UIViewControllerにbackGestureEnabledというプロパティが追加されているので、 これの値をY

  • 初級者向け iOS デバッグ Tips - enator's blog

    2013-01-29 初級者向け iOS デバッグ Tips こちらの良記事を拝見しまして、 中級者向け iOSデバッグTips 初級者向けを作ってみようかと。 とりあえず、 ブレイクポイント操作のステップ実行あたりと NSLog周りについて ブレイクポイント操作のステップ実行 まずブレイクポイントの張り方は、 .mファイルの行番号をクリックするだけで有効になります。 ※青くならない場合は、Toolbar上のBreakPointsをクリックしてください。 で、実際に実行し、その箇所にくると処理が止まってくれます。 ※今回はviewDidLoadに記載しているので、いきなり止まります。 そうすると、デバッグエリアが自動的に表示されます。 ここで重要なボタンがあるので、まずはそこから。 とりあえず、左から番号を振ってみましたが 1.Step over 一行ずつ処理を進めます。ただし、メソッドを

  • NSDateのTips « Mac-ISV

    COCOA開発で日付の処理はよくある事です。 今日はいくつかの個人的Tipを共有します。 1. 日付間の日数を計算 #define TIME_INTERVAL_FOR_DAY 86400 // Calculate and return number of days between two dates. + (int) numberOfDaysBetween:(NSDate*)firstDate and:(NSDate*)secondDate { NSTimeInterval interval = [secondDate timeIntervalSinceDate:firstDate]; // Add 1 for correct number of days return (((int)interval) / TIME_INTERVAL_FOR_DAY)+1; } 2. 日付に月を加算 /

  • UITableView Tips - Kazzz's diary

    UITableViewを使用したプロトタイプをInterfaceBuilderで作っていたが、いくつかはViewController側にコードを書く必要があった。 参考にさせて頂いたサイトを紹介して、その点を備忘録としておく。 行を選択状態にしない 来は属性"Show selection on touch"をチェックしないことで事足りるはずなのだが、何故かそうはならないので、tableView:cellForRowAtIndexPath:indexPathメソッドをオーバライドする。 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [super tableView:tableVie

    UITableView Tips - Kazzz's diary
  • 国際化したStoryboardを一つにまとめる - ninjinkun's diary

    これまでiOSプロジェクトを国際化する際にはStoryboardファイルは対応言語分複数作る必要がありましたが、iOS6からは一つにまとめて、他の言語は.stringファイルで管理することが可能になります。これにより、Storyboardを変更した際もGUIによるレイアウトの変更は一回で良くなります。 ただしこれをやるとiOS5で動かなくなるので注意が必要です。 やり方 Use Base Internationalizationにチェックを入れる BaseにするStoryboardを選ぶ 僕のアプリは日語主体で設計していたので、日語を選択しています。英語の方が主体なら英語を選択した方が良いと思われます。 Localizeされたファイルができる この状態だとstoryboardが2つある従来の状態と一緒です。 .stringファイルを生成する Localizable Stringを選択す

    国際化したStoryboardを一つにまとめる - ninjinkun's diary
  • [iOS] CALayerを使ってみる

    UIViewをカスタマイズして、カスタムコントローラを作ろうと思っています。 【目標】 ・単純なプログレスバー ・表示はグラデーションでバーを表示して、伸びるときはアニメーション CoreGraphicsでUIView内に描画しようと考えていましたが、CALayerという機能があるので試してみる。 UIView内に、階層的にレイヤーを追加して、表示を管理できるみたいです。 アニメーションさせたりできるみたいです。 最初に、レイヤー内にグラデーションで四角形を描画して、UIViewに追加してみた。

  • iPhoneアプリ開発のためのサウンドフォーマットまとめ | ぱーくん plus idea

    iPhoneゲームを作成することになったため、音声ファイル再生の方法を調べたのですが、数多くのフォーマットがあり、どの形式で利用するのがいいか迷ってしまいました。 そこで、各フォーマットとその特徴をメモっておこうと思います。 なお、下記の表は AppleのiOS Developer Libraryから引用したものです。 音声のデコード方式について音を鳴らすのに、ハードウエアデコードを使うか、ソフトウエアデコードを使うかは同時に鳴らせる音声ファイルの数に影響します。 同時に再生されている各サウンドはひとつの「チャンネル」を使用しますが、ハードウエアチャンネルは一つしかないため、AACまたはMP3がハードウエアチャンネルで再生されている場合は、その他のファイルの音声を同時に鳴らそうとすると、ソフトウエアデコードされることになります。(つまり、ソフトウエアデコードできなかったiOS3.0以前は

    iPhoneアプリ開発のためのサウンドフォーマットまとめ | ぱーくん plus idea
  • [iPhone SDK] UILabel からポップアップメニューを表示してみる | DevCafeJp

    今作っているアプリに UILabel を複数置いた画面があるが、その UILabelたちは編集はできなくてよいが、コピーは可能にしたい。 ということで、検索してみたら Stack Overflow で見つかった。 いつもながら、Stack Overflowは見つからない質問はないのではないかと思えるくらい質問と回答が充実している。 で、この通りにUILabelを継承したCopyableLabelを作ればよいのだけれども、この通りにやるとUILabelのサイズの中央にUIMenuControllerのメニューが表示されてしまうので、Interface BuilderでUILabelのサイズを余裕を持って配置している場合には違和感のある表示になってしまう。 ということで、UILabel中の文字列のサイズを取ってきてそのサイズの中央に表示するように変えてみた。 あとは、コピーした際にコピ

  • UITableViewCell の accessoryView を使うと少し楽

    UITableViewCell の accessoryView というプロパティについてです。それほどマイナーなプロパティでもないので、実は当たり前なのかもしれませんが、最近便利さに気付いたので紹介します。 UITableViewCell には accessoryType というプロパティがあって、3種類のアクセサリが付けられます。 accessoryView は、これをカスタムな見た目にしたい時に使うぐらいのものだという認識でした。実際そうなのですが、よく考えたら UIView ならなんでも入れられるわけで、UISwitch だって入れられるんだなと。設定画面でスイッチがよく出てくるのですが、今まで contentView に addSubview していて、位置を合わせるのが面倒だと思っていました。でも accessoryView なら次のコードで終わりです。frame の origi

    UITableViewCell の accessoryView を使うと少し楽
  • iPhoneの月額課金で直面するマニュアルにないルール

    この記事は、iPhoneのアプリ内課金(In-App-Purchases)を使った、月額課金システムを実装した時の恐怖体験についてです。 ※更新※ 最近、App Store Review Guidelinesが変更されていて、新聞とか雑誌以外でも自動継続課金(Auto-renewable)のルールがちょろっと更新されたみたい。 iPhoneの自動継続の月額課金がサービス系のアプリでも使えるようになったか しかし、実際のところ、どんなアプリがOKかはあいまいな部分もあるとは思うし、やってみないとわからなかったりするので、SaaS系で承認された人いましたらぜひコメント欄とかで教えてくれると嬉しいです。 ちなみに、アップストアのレビュー通ってもリリース時期を遅らせたらストアには公開されないので、レビュー通るかよくわからない時は、凄くシンプルな実装でとりあえずレビュー通るかまずサブミットして様子み

    iPhoneの月額課金で直面するマニュアルにないルール