Cluster Tech Blogははてなブログへお引越ししました 引き続きそちらで記事を発信していきますので、ぜひご覧ください!
対応の比較動画 (体感2倍)エウレカ iOS エンジニアの muukii (Twitter) です🥃 私が開発を担当しているPairs Global (Pairsの海外向けアプリ)はアプリの起動がとても遅いのです。 一体なぜなのか。 OSはアプリを起動してAppDelegate (厳密にはmain関数)が呼び出されるまでには様々な処理を行います。 この部分の処理を最適化することでアプリが起動していない状態からの起動の高速化が期待できます。 アプリ起動高速化のための前置き (長め)まず、用語について、厳密には FrameworkとLibaryは異なるものですが、性質は近いので本記事では次のように用語を用います。 Static Framework または Static Libraryを まとめて 「Static Framework」と呼びます Dynamic Framework または Dy
【WWDC2017】iOS開発におけるEmbedded Framework活用法 + ラボノススメ 井原岳志 2017.06.14 84 15292020 こんにちは。井原 (@nonchalant0303) です。スタディサプリENGLISHのiOSエンジニアをやっています。 今回はEmbedded Frameworkを活用したiOSアプリの設計についてご紹介します。 ちなみにですが、2017年6月5日 ~ 9日、アメリカのサンノゼで開催されたWWDC2017に参加してきました。WWDCではKeynoteをはじめとしたセッションの他に、Appleで働く様々な分野のエンジニアとディスカッションをできる『ラボ』というブースがあります。Embedded Frameworkでの設計についていろいろと質問することが出来たので、そこで得た知見も併せてご紹介します。 はじめに 現在、開発しているiOS
iOS8からAVAudioEngineというオーディオ機能がAVFoundation内に追加されています。 細かな説明は他の方も行われていますので、ここでは簡単に「AUGraphのiOS版」のようなものと言っておくことにします。(ラッパークラスというのが適当かもしれませんが) ただし、隠蔽されている点は数多く見られます。今回紹介するパラメータについてもそうですが、コールバックの利用方法が見当たらなかったのは大きいです。それがゆえに、私自身が今後AUGraphからAVAudioEngineに置き換えるかどうかというと、今のところはNOです。 今後の拡充に期待というのと、プロトタイプを作成するときに利用するには便利かなと思います。 大まかには以下の構成になっています。 AVAudioEngine AVAudioFile AVAudioNode AVAudioEnvironmentNode (今
iOS向けのアプリケーションやライブラリで画像やローカライズファイルなどのリソースを使うとき,bundleという仕組みを利用します. bundleはアプリケーションやライブラリに組み込まれ,実行時に各リソースファイルとの橋渡しをします. 例えば,ローカライズに使うNSLocalizedStringマクロはこのように定義されています. #define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil] [NSBundle mainBundle]は実行中のアプリケーションbundleを返します. tableが実際に使用されるローカライズファイルですが,nilだとデフォルトのLocalizable.stringsが利用されます. NSLo
A tiny but powerful av player framework for iOS and Apple TV OS. The SDK can play the most audio and video formats (Includes network audio and video streams), no convert hassles, no VLC and SDL dependent. AVPlayer framework is written for iOS and Apple TV OS developers who want to add powerful av player to their app using a couple lines of code. Behind the scenes av player relies on the iOS OpenGL
この記事はXcode6β4の時点でのHealthKitについて扱っています。 HealthKit + PromiseKit事始め 基本的なデータの読み書き | Technology-Gym では、HealthKitを使った基本的な読み書きについて紹介しました。 単純に読み書きするだけでも様々なデータの型が用意されたり、データ共有もできるの使う意味はありますが、 さらにHealthKitにはHKStatisticsという統計(集計という方が近い?)処理するクラスが用意されています。 HKStatisticsとHKStatisticsCollectionというクラスが統計処理に関係するものです、 それぞれ取得するのにHKStatisticsQueryとHKStatisticsCollectionQueryというのものを使います。 以下の記事を先に読んでおくと理解しやすいでしょう。 Health
.framework作成する上で参考になったサイト [iOS][Objective-C][Xcode 4.6.3] そうだFramework(.framework)を作ってみよう 実際に使ったshell 上記のサイトに出てたshellだとちょっと無駄なところがあったので、手直しした # ========== # 変数設定 echo "[0] prepare ${INFOPLIST}" # ========== INFOPLIST='Info.plist' FRAMEWORK_NAME=$(/usr/libexec/PlistBuddy -c "Print CFBundleName" ${INFOPLIST}) BUILD_TARGET_NAME=$FRAMEWORK_NAME FRAMEWORK_BUILD_CONFIGURATION="Release" FRAMEWORK_VERSION
HealthKit.framework に登場する主なクラスを簡単にまとめていきます。 そして HealthKit についてなんとなくわかった気になります。 HKUnit体重をあらわす単位はアメリカではポンド (lb) が広く使われているようですが、日本ではキログラム (kg) が広く使われています。 体温をあらわす単位は日本では摂氏が広く使われていますが、華氏が使われているところもあったりします。 HealthKit では HKUnit クラスを使って様々な単位をあらわすことができます。 キログラムとポンドをあらわすオブジェクトをそれぞれ作ってみます。 let kgUnit: HKUnit = HKUnit(fromString: "kg") let lbUnit: HKUnit = HKUnit(fromString: "lb")もうすこし複雑な単位をつくることもできます。 たとえば、
self.webView = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:configuration]; プロパティ configuration WebViewの設定。WKWebViewConfiguration を指定できます。 WKWebViewConfiguration クラスには preference というプロパティがあり、 WebViewの最小フォントサイズ データの取得が完了するまで描画を行わない JavaScriptが新ウィンドウを自動的に開くのを許可するか JavaScriptの実行を許可するか などを設定できるようです。詳しくは次のクラスリファレンスを参照してください。 WKPreferences navigationDelegate WebViewのナビゲーションに関するデリゲートです
iOS8からの新機能、HealthKitのサンプルコードのメモです。 この記事はAppleの公開情報から作成しております。 Fit (Sample Code) HealthKitとは? 健康に関連する情報を管理するためのフレームワーク。 健康・ライフログ系アプリのデータベースを統合し、集中かつ安全に管理。 つまり独自の実装なしに健康関連情報にアクセスし、他アプリ間で共有可能。 サードパーティ製のヘルス・フィットネス系アプリを配下に治めようという、 アプリ既出サードパーティにとっては( ゚∀゚)・∵.グハッ!! で ユーザにとっては統合されて便利で嬉しい仕組み。 なお、健康に関するデータはsensitiveなので、デバイスごとに使用を承認する必要があります。 データベースへのアクセス確認、データ取得、データ保存の仕組み、 データ更新された場合の通知設定、データのバックグラウンドフェッチ、
メモ 事前にProject>TARGET>Build Phases>Link Binaly With Librariesで、Social.frameworkを追加しておく。 ↑LINEだけなら必要ないです。 #import <Foundation/Foundation.h> @interface Social : NSObject +(void)facebookShare:(UIViewController *)vc; +(void)twitterShare:(UIViewController *)vc; +(void)lineShare:(UIViewController *)vc; @end #import "Social.h" #import <Social/Social.h> @implementation Social +(void)facebookShare:(UIViewCo
Social.frameworkを使わない勇気 iOS6からSocial.frameworkが使えるようになりました。 これにより、TwitterやFacebookへの投稿が簡単になったのは、様々なブログで取り上げられているので使用している方も多いはず。 しかし、これには一つだけ難点があります。投稿クライアントがiOSとなる難点が。 正直気にしない人は気にしないですが、やっぱ投稿クライアントはオリジナルのものを表示させたいですよね。 ってことで、今回はSocial.frameworkを使わないでTwitterへ投稿する方法を使います。 今年の元旦にunderscoreからリリースしたカラオケなうを、久しぶりにメンテナンスするついでに、こいつをTwitter投稿クライアントとして登録してアップデートしましょう。 ShareKitを使う ShareKitは、各SNSへ簡単に投稿できるようになる
追記(03/2014) COCOAPODS SEARCH 理想的なサービスが非公式にできていた。最高なので是非使いましょう。 以下は初稿 タイトルの件は忘れてください。 概要 CocoaPodsメインSpecリポジトリの全登録モジュールを対象にGitHubでのwatcher/star数などを参考にした一覧を作成しました+Objective-C Toolbox が欲しい話。 なにかというとローカルのCocoapodsのpodspecディレクトリの各:sourceからGitHub上のリポジトリを特定してAPIで取得しただけです。なのでGitHubにないリポジトリは換算されてない。 作業に使ったスクリプトがこのへんにあります https://github.com/laiso/objc-toolbox/tree/master/script なんでそんなものが必要だったのかというと、前からmetac
CocoapodsはiOSやOSXの開発で便利なオープンソースのモジュール管理ツールです。 モジュールの数が多くて何のモジュールか良くわからなかったりするので、一覧を作ってみました。 500px-iOS-api A simple SDK for accessing the 500px API. _.m _.m strives to provide a full Underscore.js feature set in Objective-C in a way that is familiar to JavaScript developers by using Subjective-Script. A2DynamicDelegate Blocks are to functions as A2DynamicDelegate is to delegates. A2StoryboardSegueC
先日紹介した AppSocially SDK を、CocoaPods から導入できるようにしました。これにより、 スクリプトを1行書いて、コマンドを1つ実行するだけ で AppSocially SDK を使えるようになりました。 Podfile に pod 'AppSociallySDK' と書き足して、あとはターミナルから下記コマンドを実行するだけです。 pod install ソース非公開の自作フレームワークのPodSpec AppSocially SDK はソースは公開しておらず、AppSocially.framework, AppSocially.bundle だけを配布しているのですが、そういうケースで PodSpec をどう書いてよいかわからず、かなり試行錯誤しました。 最終的に、下記のようにしました。(nameとかversion等の部分はここでは省略) s.source =
AppSocially iOS SDK を使うと、たった1行コードを追加するだけで、友達を招待する機能をアプリに追加することができます。無料で使えて、招待数による従量課金もありません。 招待の方法もいろいろあって、いまのところ Facebook のチャット Twitter の DM メール SMS LINE が用意されています。 iOS6 以降は Social.framework によって Facebook や Twitter への投稿がものすごく簡単になりましが、DM やチャットは Accounts.framework を用いた認証や、SLRequest で API をハンドリングする処理を自前で書かなければならず *1、それでいてアプリ毎に固有な差別化要素でもないので、まるっと外部ライブラリに任せてしまえばかなり手間が省けます。 導入方法 上述したとおり、フレームワーク追加、ヘッダイン
[iOS 7] P2P 通信を手軽に実現する Multipeer Connectivity Framework を使ってみる Multipeer Connectivity Framework Multipeer Connectivity Framework は、Wifi や Bluetooth を利用した近距離にある iOS 端末間の Peer to Peer の通信を手軽に実現するためのフレームワークです。 このフレームワークでは、下記の3種類の通信方式を利用して通信を行います。 同一 LAN 内 での Wifi による通信 ピア同士の Wifi による通信 ピア同士の Bluetooth による通信 従来は、同一 LAN 内にいる iOS 端末間での通信を行うことができましたが、このフレームワークによる通信は端末が同一 LAN 内にいる必要がないところが大きな特徴です。 Multipe
こんにちは。共同開発部 開発担当の図子です。 先週 からはじまりました Bluetooth LE (以降 BLE)の連載。今回は iOS デバイスで BLE 機器と通信できるようにするために簡単なアプリを作って説明していきたいと思います。 第1回 Bluetooth Low Energy の基礎 第2回 iOS デバイスで Bluetooth LE 機器を使う 第3回 iOS デバイスを Bluetooth LE 機器にする 第4回 Windows 8.1 の Windows ストアアプリで BLE を使う CoreBluetooth Framework iOS で BLE を通信をするためには CoreBluetooth.framework を使います。CoreBluetooth は iOS 5 から登場したフレームワークで BLE 通信を行うためのフレームワークです。登場当初は既存の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く