タグ

ブックマーク / qiita.com/mono0926 (6)

  • Embedded Framework使いこなし術 - Qiita

    iOS 8・Xcode 6から、Embedded Frameworkが使えるようになりました。 その導入法について書かれた記事などはよく見かけます("ios embedded framework" でググってください)が、実践的な説明・ノウハウ系はあまり見たことが無かったので、ご紹介します。 以下の2+ステルス開発中の1で1年程度の利用経験があります。 JOIN US - 今日飲み会がしたい!今夜飲める人だけのコミュニティ Player! - 熱狂型スポーツアプリ、スコア・試合経過をライブ中継!ニュースも配信中!(プレイヤー) というわけで以下、Embedded Frameworkについて語っていきます。 利点 Staticライブラリというけっこう前からある別の仕組みもありますが、以下の利点全てを享受出来るのはEmbedded Frameworkです。 コード共有 最近、iOS体アプ

    Embedded Framework使いこなし術 - Qiita
    nabeatsu1
    nabeatsu1 2020/11/01
  • Swift実行ファイルを逆アセンブルして、最適化具合を正確に把握する方法 - Qiita

    SwiftはOptimization Levelによって顕著にパフォーマンスに差が出ます。 参考: Apples to apples, Part II · Jesse Squires また、Dynamic Dispatchでの呼び出しもオーバーヘッドになります。 参考: Swiftのfinal・private・Whole Module Optimizationを理解しDynamic Dispatchを減らして、パフォーマンスを向上する - Qiita ドキュメントなど読み解けば「どういう記述をすればどうコンパイルされるか」は大体予測付きますが、やはり実際にその予測通りになっているかは確認しておきたい時があります。 特にロガーなどグローバルに呼び出されるものの場合、そういう確認大事だと思っています。 (この記事もロガーの検証が元々の目的で、そのために調べてまとめています。ロガーについても記事

    Swift実行ファイルを逆アセンブルして、最適化具合を正確に把握する方法 - Qiita
    nabeatsu1
    nabeatsu1 2019/04/23
  • チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita

    今開発しているPlayer!で、チャット系のリアルタイム更新処理が必要となったので、色々調べています。 ※「スマフォアプリ」として共通事項が多いのでそう表記しましたが、基的にスマフォアプリはiOSアプリとして書いてます。AndroidWindows Phoneなどは差異があったり読み替える必要があると思っています。 結論 後半で詳しく書きますが、今のところ以下の結論に至りました。 PUSH通知に全て依存する構成でもそれなりに動く PUSH通知 + 双方向通信処理(WebSocketなど)の併用がベスト 双方向通信処理はPusher・Firebaseなどのサービスに頼る or ws・Socket.IO・SignalR + 対応クライアントライブラリなどで自前実装 Pusherなど有名サービスのクローンOSS導入も良さそうです stevegraham/slanger edgurgel/po

    チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita
    nabeatsu1
    nabeatsu1 2019/03/11
  • iOS 9からAPNsデバイストークンがアプリインストールの度に変わるようになったようです - Qiita

    iOSのAPNSデバイストークンの変更タイミングは不定で、APNsデバイストークンのハンドリング(通知サーバーへのデバイストークン伝達など)は、アプリが起動される度に毎回行うことが推奨されています。 とはいえ、観測・実験ベースで、変更タイミングが大体分かっていて、この記事など参考になります(iOS 8までの挙動)。 iOS7でのAPNSデバイストークンに関する挙動について - ゆれくるコール開発日誌 iOS7でプッシュ通知のデバイストークンに大きな変更 | 三度の飯とエレクトロン iOS 7にアップデートのタイミングで変わるようですが、iOS 8・9へのアップデートのタイミングで変わるかは把握していません。 繰り返しになりますが、下記のように変更タイミングは不定と明記されているので、ロジック自体はそれに頼らずに組むべきです。 Never cache device tokens in you

    iOS 9からAPNsデバイストークンがアプリインストールの度に変わるようになったようです - Qiita
    nabeatsu1
    nabeatsu1 2018/11/14
  • iOSのPUSH通知(APNS)の特徴・ノウハウまとめ(iOS 9まで対応) - Qiita

    今開発しているPlayer!で、チャット系のリアルタイム更新処理が必要となったので、色々調べながらまとめています。 分量が多いので、とりあえずまずは小出しにAppleのPUSH通知の特徴・ノウハウについてまとめたものを公開します。 → 「リアルタイム更新処理」全体にフォーカスした記事も書きましたヽ(・ω・`) iOS - チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita アプリが終了状態になっていてもサーバーから通知出来る唯一の手段 まず当たり前のことからですが、最大の特長だと思います。 この理由によって、双方向通信などを併用するにしてもPUSH通知対応は必須です。 (サーバー経由でなければ、位置情報トリガーなど他にもいくつか終了状態から起こす方法は存在します。) ユーザーにPUSH通知を不許可にされたら届かない さらに、初回の確認で不許可にされた

    iOSのPUSH通知(APNS)の特徴・ノウハウまとめ(iOS 9まで対応) - Qiita
    nabeatsu1
    nabeatsu1 2018/11/13
  • Swift 3 以降の NotificationCenter の正しい使い方 - Qiita

    Swift 3 で NotificationCenter(旧 NSNotificationCenter ) がせっかく改良されたのに、そのメリットが活かされないようなコード例をよく見かけるので、正しい使い方をまとめます。 以下、主にSwift 2時代のコードを3でどうベターに書けるようになったのかという視点メインでの記述となっています。 次の class を用意して、それをもとに説明していきます(struct は自身を登録できないので class で説明)。 class NotificationObserver { func addObserver() { // A: ここに NotificationCenter 通知登録処理を書く } func removeObserver() { // B: ここに NotificationCenter 通知解除処理を書く } /** C: 今回、通知

    Swift 3 以降の NotificationCenter の正しい使い方 - Qiita
  • 1