タグ

iOSに関するhelldeathのブックマーク (62)

  • iOS端末の画像をデスクトップへ出力する“AirPlay”のレシーバー「LonelyScreen」NOT SUPPORTED

    iOS端末の画像をデスクトップへ出力する“AirPlay”のレシーバー「LonelyScreen」NOT SUPPORTED
    helldeath
    helldeath 2015/11/27
    Reflector2もいいけれど、これで満足できるのではないか
  • NSURLConnectionを用いたURLローディングシステムによる通信

    プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMaciPhoneなどの話題が中心のブログ Objective-CではURLをベースとした通信フレームワークであるURLローディングシステムが用意されています。これはプロトコルとしてftp, http, https, fileをサポートしており、これらのプロトコルでの通信を行うアプリケーションを簡単に書くことができます。 この記事ではAppleの「URL Loading System Programming Guide」を参考にして、URLローディングシステムを利用した通信の概要について紹介します。NSURLConnectionは同期通信にも対応していますが記事では触れません。また、iOSでは使用できないNSURLDownloadも基的には取り扱いません。 要求の送信 要求を送信するまでのコードは

    NSURLConnectionを用いたURLローディングシステムによる通信
    helldeath
    helldeath 2013/07/03
    あれ、ダウンロードの進捗もとれるんじゃないこれ
  • Xcode 4でビルド番号を自動的に増やす方法 - Awaresoft

    Xcode 4には、ターゲットのサマリーに「Version」と「Build」の欄があります。このBuild番号をビルドの度に自動的に増やしていく方法のメモ。こちらのQ&Aページを参考にしました。 バージョン番号とビルド番号の付け方について ターゲットのサマリーの"Version"はInfo.plistの"Bundle versions string, short" (CFBundleShortVersionString)、"Build"は"Bundle Version (CFBundleVersion)"に相当します。 バージョン番号とビルド番号の使い方の流儀はいろいろあり、プロジェクトにあった方法を選べばよいわけですが、私の場合は上のQ&Aページで説明されているのとほぼ同じように、次のようなルールで付けることにしました。 バージョン番号は、 {メジャーバージョン}.{マイナーバージョン}

    helldeath
    helldeath 2013/05/22
    Buildはピリオドと数値のみ。先頭に半角スペースを入れるとIAPのトランザクション完了通知やリストアが正常に行われなくなる
  • iOS - Restoring auto renewable subscription

    helldeath
    helldeath 2013/05/02
    リストアしたりしたトランザクションの購読日時と比較する
  • https://remotestance.com/

    https://remotestance.com/
    helldeath
    helldeath 2013/05/02
    未来なら正(プラス)の数
  • StoreKit Consumableプロダクトの二重購入 – なんてこったいブログ

    トランザクションの中断と再開について、さらにケースを見ていきます。未完状態のトランザクションが既にある状態で、新しいペイメントをリクエストした場合の挙動について。厄介です。 同一プロダクトに対する複数のトランザクション 前述した複数デバイスを使っているときを除いて、StoreKitでは同じプロダクトに対する購入トランザクションを複数同時に進める事はできないようになっているようです。既に進行中/中断状態のトランザクションがある状態で新しい支払いリクエストをキューに積むと、そのトランザクションはfailすることになります。勿論この挙動自体はそうあるべきものですが、この時の処理の流れには注意をしなければいけません。 発生するパターン 同一のデバイス上で一つのプロダクトに対する複数のトランザクションが発生してしまうパターンは二つ考えられます。 パターン1. 前回のトランザクションがfinishして

    helldeath
    helldeath 2013/05/01
    ユーザが課金キャンセルした場合も、トランザクション重複の場合も、同じSKErrorPaymentCancelledが返るから注意ね
  • StoreKit トランザクションの重複を防ぐ – なんてこったい

    トランザクションが複数できると面倒なことになると前回のポストで書きました。特に購入手続きの途中でアプリケーションが終了してしまったような場合は、アプリケーション側で少し面倒ですが対策をいれないと問題を回避できません。 発生するケースについての確認 実際の対策を見る前に、発生するケースについて確認しておきます。 ユーザがアプリケーション上で特定のアイテムを「購入」しようとする。 アプリケーションからStoreKitのキューにPaymentリクエストが積まれる。 トランザクションが生成される。 トランザクションが完了する前にアプリケーションが終了。 アプリケーション再起動。 前回のトランザクションが再開/完了するより前のタイミングでユーザが再び「購入」しようとする。 この問題は、前述の通りアプリケーション起動から未完状態のトランザクションが再開されるまで若干のラグがあるために発生しうる問題です

    helldeath
    helldeath 2013/04/23
    StoreKitのコールバックがアプリの再起動後に呼ばれる問題について
  • iPhone用の.xibファイルをiPad用にする « TORQUES LABS

    ある程度制作したりリリースしたiPhone専用アプリをiPad用でも使えるようにしたいことがあります。 iPhone専用アプリでもiPad上で拡大してくれるのですが、やっぱり専用にリソースを作ったり、UIを変更したいという、つまりUniversalアプリ化したいというとき、ソースコードで生成しているUIはそれなりに対応も出来るのですが、XIBファイルはどのようにすればいいのでしょうか? 今回は、XIBを変更するの手順を下記に書きました。ちょっと面倒ですが、手順を覚えてしまえば迷わずできます。 XIBの複製 まず、xibをコピーします。 [File]メニューから[Duplicate]を選び、XXX~ipad.xib の用に命名します。 【命名の話】 このxibの名前の付け方ですが、適当な名前にし、自分で呼び出す部分も変更することももちろん出来るのですが、“~ipad”とつけると、Xcodeが

    iPhone用の.xibファイルをiPad用にする « TORQUES LABS
    helldeath
    helldeath 2013/04/22
    iPad用xibビューを自動呼び出ししてくれるためのリネーム
  • SKPaymentTransactionについてkwsk – なんてこったい

    StoreKitのトランザクションには、トラブルが発生した際に重要になる情報が多く含まれています。SKPaymentTransactionオブジェクトに含まれる情報と、それらの挙動について確認していきましょう。なお、複雑になるのでNon-Consumableプロダクトのリストア関連の項目については、基的に省略しています。 SKPaymentTransactionの要素 SKPaymentTransactionに含まれる主なプロパティは以下の通りです。(Non-Consumableプロダクトのリストア関連の要素は除いています) error payment transactionState transactionIdentifier transactionReceipt transactionDate 各要素について、挙動や使い方を確認していきましょう。 transactionState ト

    helldeath
    helldeath 2013/04/19
    基本的な情報。きれいにまとまってる
  • iOS: In App Purchase、Restore処理のハマりポイント

    アプリ開発。Objective-C、Flash、cocos2d、Unity、Unreal Engine 4、ライブラリ、ツール類について。 先日、バージョンアップのためにSubmitしていたPuppet Camがリジェクトされてしまいました。 理由は、In App PurchaseでNon-Consumableなアイテムを購入したお客様に対して、別デバイスなどからリストアできるように、リストアボタンが用意されていないというものでした。 リストア機能は、再度、購入ボタンを押してもらえれば、2重課金にならずに済むようになってはいるのですが、お客様にとっては2重課金されないかな?と不安に思うのはもっともなので、このリジェクトは致し方無いです。 ただし同様の実装でも、リジェクトされる場合とされない場合があり、この辺りの審査はいつも微妙です。 今回は、リストアボタン実装中に、ひとつハマりポイントを見

    helldeath
    helldeath 2013/04/19
    リストアするときの注意
  • iPhoneでAES128暗号化 - Rhythm & Biology

    iPhoneアプリ開発で暗号化を行う必要が出てきたので、試しに書いてみました。 暗号方式にはAES128を、Padding方式にはPKCS7を使っています。 ここで使っているCommonCryptoはiOS SDKについてくるものですが、mac上でも普通に使うことができます(iPhone Simulator用のライブラリを無理矢理使います)。 使い方としては、下のコードをコンパイルして、 $ ./a.out aaaabbbbccccdddd eeeeffffgggghhhh messageというようにすると"message"が暗号化され、さらに続けて復号化されます。 第一引数は鍵、第二引数はInitial Vectorです。どちらも16バイトである必要があります。 /* * gcc -std=c99 crypto.m -framework Foundation */ #import <Fo

    iPhoneでAES128暗号化 - Rhythm & Biology
    helldeath
    helldeath 2013/04/19
    CCCryptを使った暗号化・復号について。ivとkeyの設定はこちらの方法が正しいようだ
  • mixi Engineers’ Blog » OpenSSLの暗号文をJava/Perl/Rubyで開く

    秘密鍵やプライベートな情報などを秘匿するためにパスワードでデータを暗号化・復号したい場合があります。このとき、暗号化と復号するアプリケーションが同じであれば簡単ですが、例えばCで暗号化してJavaPerlRubyで復号するといった風に異なるプラットフォームで暗号データをやりとりする場合には、いくつか気 をつけなければいけないポイントがあります。 OpenSSLによる暗号化 OpenSSLはWebサーバのSSL/TLSサポートに利用されますが、その他にも付属しているopensslコマンドから基的な暗号アルゴリズムを利用できます。次のような簡単なコマンドで、パスワードを使ってデータを暗号化したり復号したりすることができます: $ echo 'Hello World!' | openssl enc -e -aes-128-cbc > cipher.txt enter aes-128-cbc

    mixi Engineers’ Blog » OpenSSLの暗号文をJava/Perl/Rubyで開く
    helldeath
    helldeath 2013/04/19
    暗号アルゴリズム・暗号利用モード・パディングルールなどのパラメータ
  • iPhone で暗号化

    初めまして、Fusic 河野です。 わたくし、IT 系のバスケの社会人チームやiPhone アプリ系のコミュニティとかを やってたりするので、ご興味のある方はぜひご参加ください。 弊社にはもう一人河野というものがおり、そっちとは違う方と 覚えて頂けると溜飲が下がります。。。 最近、プライベートではこんなことやってたりして遊んでます。 Fusic では、主に ruby on rails をやっており、ZENPRE の iPhone アプリを 担当させていただいてたりします。 さて、昨日行われました安元の結婚式も無事に終わり、日はとっても天気の良い日曜日です。 それにしても、とても良い結婚式でした。 「おめでとうございます。お二人とも末永くお幸せに!」 で、そんな幸せに包まれつつな日曜日も Advent Calendar です。 こんな日にバトンがまわってくるとは、、な気分ではございますがさ

    iPhone で暗号化
    helldeath
    helldeath 2013/04/18
    ios,objcでCCCryptを使ってAES暗号化。DES暗号化もできる
  • あかばね式 [iPhone]UIWebViewに自己署名証明書を許可させる方法

    UIWebViewを使ったアプリとサーバーを組み合わせたシステムを開発するようなケースで。 サーバー側で正式な証明書が用意できていない段階で、テストしなければならないような時、 自己署名証明書をとりあえず無視したいことがあると思う。 合法な方法では(現時点では)不可能らしい。 一時的にテストを進めるため、undocumented な方法ではあるが、 以下のような方法がある。 How to ignore ssl certificate challenge with UIWebView and NSUrlRequest? - General discussion - MonoTouch Forums @interface NSURLRequest(SSL) + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host; @end @impl

    helldeath
    helldeath 2013/04/18
    オレオレ証明書をUIWebViewで開く
  • Xcode プロジェクトをうまく .gitignore する - ヤルキデナイズドだった

    2015年11月9日追記:以下の内容は Xcode 4 までに対応しています。最近の Xcode に対応するには github.com/github/gitignore の Objective-C.gitignore を使うことをお勧めします。(追記終わり) Xcode で作ったプロジェクトを Git で管理するにあたってめんどくせえーのは、 .xcodeproj の中にプロジェクトのデータとユーザデータが一緒に入ってる点です。普通に空のプロジェクトを作るとこうなります: Xcode 3: - $PROJ.xcodeproj/ - project.pbxproj - $USER.mode1v3 - $USER.pbxuser Xcode 4: - $PROJ.xcodeproj/ - project.pbxproj - project.xcworkspace/ - xcuserdata/

    helldeath
    helldeath 2013/04/08
    gitignoreの設定
  • iOS Developer Programの期限内での更新

    iOS Developer Programの更新作業をした際の覚書です。 iOS Developer Programのライセンスの有効期間は1年間となっていますので、更新する必要があります。 更新については、Program Renewals – iOS Developer Program – Support – Apple Developer.に詳しく書いてあります。 更新しなかった場合もどうなるか書いてあるので、一度は読んでおくと良いと思います。 なお、期限が切れる前に更新していますので期限が切れた後に更新した場合とは少し異なると思います。 目次 ライセンスの購入 証明書(Certificate)の更新 Provisioning Profileの更新 ライセンスの購入 iOS Dev Center – Apple Developer.にてライセンスを購入します。 更新が近づいていると、ロ

    helldeath
    helldeath 2013/04/08
    期限切れのあとこれを元に更新しました。要求作成時に公開鍵と秘密鍵が作成されるので、それは自分で勝手に削除しないこと!
  • 月日、時分秒を指定して日時オブジェクトを生成したい - ちくわプログラマにっき

    // 年月日、時分秒を指定して日時オブジェクトを生成する NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *comps = [[NSDateComponents alloc] init]; [comps setYear:2010]; [comps setMonth:1]; [comps setDay:2]; [comps setHour:3]; [comps setMinute:4]; [comps setSecond:5]; NSDate *date = [calendar dateFromComponents:comps]; NSLog(@"date: %@", date); // => date: 2010-01-02 03:04:05 +0900

    月日、時分秒を指定して日時オブジェクトを生成したい - ちくわプログラマにっき
    helldeath
    helldeath 2013/04/04
    NSDateではなくNSCalendarとNSDateComponentsを使うのか
  • SKProductsRequest で指定した productIdentifier が invalidProductIdentifiers になって返ってくるときの対処法: iPhone開発ブログ

    SKProductsRequest で指定した productIdentifier が invalidProductIdentifiers になって返ってくるときは、以下の点を確認してください。(ここを参考にしました) そのアプリのApp IDでIn-App Purchasesは有効になっていますか? そのプロダクトは「Cleared for Sale」になっていますか? そのアプリの新しいバージョンをiTunes Connect上で追加していますか? 参考にしたページでは、 Have you submitted (and optionally rejected) your application binary? Xcodeプロジェクトの.plistのBundle IDはApp IDと一致していますか? そのApp IDで新しいProvisioning Profileを作成してインストール

    SKProductsRequest で指定した productIdentifier が invalidProductIdentifiers になって返ってくるときの対処法: iPhone開発ブログ
    helldeath
    helldeath 2013/04/03
    InApp-Purchase(アプリ内課金)でプロダクトID(ProductID)がinvalidProductIdentifiersになる場合のチェックリスト日本語訳版
  • In-App Purchase で、プロダクトID が invalid になる場合の対処方法 - その後のその後

    たとえば下記のようなコードでプロダクト情報取得処理を行った場合に、 self.request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:productId]]; self.request.delegate = self; [self.request start]; プロダクト情報の取得が完了すると productsRequest:didReceiveResponse: メソッドが呼ばるわけですが、そこで下記のように「無効なプロダクトID」をチェックすると - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { if ([resp

    In-App Purchase で、プロダクトID が invalid になる場合の対処方法 - その後のその後
    helldeath
    helldeath 2013/04/03
    アプリ内課金で ProductId が invalidProductIdentifiers になる場合のチェックリスト。
  • 既存のXcodeプロジェクトをiOS 6とiPhone 5に対応させる | 理系の視点

    理系の視点 Just another Engineer's blog, Voice4u Behind the Scenes Search Main menu Tweet 既存のiOSプロジェクトを最新版のiOS 6とiPhone 5に対応したにアップデートする際にいろいろ変更された部分があり、変に時間がかかったところもあったのでメモしてみました。少しでもこれがお役に立てば幸いです。 iOS 6とiPhone 5のサポートに必要だった処理は次です: Launch Images、App icon、スクリーンショット ビューのAutoresizing ビューの背景色 画面の回転 windowのrootViewControllerプロパティ iPhone 3G, iPod touch 2Gでビルドできない 1. Launch ImagesとApp icon iPhone 5のRetina 4インチ

    helldeath
    helldeath 2013/04/02
    iOS6対応の参考