Open In とは他のアプリへファイルを渡すあれ。 DropBoxはどんなファイルでも Open In で受け取れるようになっている。そこでDropboxのplistファイルを解析してみたというのがこの記事。 Open In … All Files | Coco...
sponsored Backlogに招待するだけでは「使ってくれない」、ではどうする? うまくいく! 複数人チームでのプロジェクト・タスク管理立ち上げの方法 sponsored 手軽に“壁100インチ”の大画面を楽しもう! 自宅が映画館になる「JMGO N1S Ultra 4K」を推す理由 sponsored CyborgやThin、Clawなどが最大25%オフ! AmazonブラックフライデーでMSIのゲーミングPCが即ポチレベルの格安価格で買えるぞ! sponsored リモートワーク環境はまだまだセキュリティ対策が不十分 ハイブリッドワーク中の社員PCがフィッシング詐欺被害! どうやったら防げた? sponsored 高価格にも納得できるサウンド 7万円の高額ワイヤレスイヤホン「B&W Pi8」の音が、泣けるほど良かった sponsored 180Hzで0.5ms(GTG)のRAPI
「ランキングが上がらない」「開発費が回収できない」アプリを作って終わりにしない現場のノウハウを凝縮。 「DL数が伸びない」「DAUが増えない」「課金されない」スマホアプリビジネスの悩みを、ASO、広告運用、内部改善など、豊富な事例をもとに解説。iOS/Androidマーケの全体像がつかめる国内唯一のアプリマーケ実践本です。連載時から大幅に加筆修正し、最新情報を盛り込みました! 事例に学ぶスマホアプリマーケティングの鉄則87 価格:2,700円 (本体2,500円) /形態:B5変 (208ページ) ISBN:978-4-04-866451-6 スマートフォンアプリのマーケティングノウハウを紹介する本連載。第2回で、アプリのマーケティングにまず必要なことは「app definition statement(アプリの定義宣言)」を読み込むことだと解説しました(関連記事)。今回から、アプリを「広
こんにちは、最近プロジェクトが忙しくて映画を見れていないmanaです。 今回は、iOSでBluetooth LEを使ってデータのやりとりを行いたいと思います。 Bluetooth LEの説明は「AndroidでiBeaconを発見する」を参照してください。 実際にデータのやりとりする場合は、役割としてペリフェラル、セントラルにわかれます。 セントラル(中心機器)、ペリフェラル(周辺機器) 機器には「役割」があります。その役割に「セントラル」と「ペリフェラル」があります。 例えば、iPhoneをセントラル、iBeaconなどの周辺装置をペリフェラルとするとイメージしやすいです。 ペリフェラルはアドバタイジング(「宣伝」)パケットを常に発信しており、セントラルは一定範囲内に入ると、ペリフェラルからの通知を受け取ることができます。 通信 ペリフェラルからセントラルにアドバタイジングパケットで通知
Cocoaの並列処理(GCDとNSOperation/NSOperationQueue)に関するまとめです。この記事ではいわゆる「スレッド」については扱いません。スレッドについては、前に記事を書いたのでそちらを参照してください。 Cocoaのマルチスレッドシステム - $ cat /var/log/shin スレッドによる並列処理からの脱却 スレッドは、歴史のある並列処理のための概念ですが、OSのカーネルの方にも密接に関わりがあるなど、抽象度は低めと言えます。 そこで、Cocoaでは、並列処理のための抽象度の高いインターフェースが提供されるようになりました。それがGCDとNSOperation/NSOperationQueueです。これらを使えば、スレッドを何個作成してタスクをどのように実行するか等の細かいことは、ランタイム側が全て決定してくれるので、ユーザは、並列処理したいタスクを定義し
ユースケース CADisplayLink を実際に使う例と共にどんなクラスなのか簡単に紹介します。 例えば現在時刻を表示する場合。 画面に表示されている日時を定期的に更新する必要があります。 そのような場合に NSTimer で 0.01 秒など適当なインターバルを設定して更新、みたいなこと実装した経験ありませんか? 僕はあります。 それを解決するための表示されているビューを更新するためのイベントを取得するためのクラス、それが CADisplayLink です。 最近 facebook が OSS 化した pop や、長年 iOS の 2D ゲームフレームワークとして親しまれている cocos2d でも、もちろん使われていました。 facebook/pop cocos2d/cocos2d-iphone CADisplayLink の使い方 CADisplayLink を以下の様にしてセット
(※2014/04/22 11時に加筆修正しました) 本書で紹介しているiBeaconの挙動がiOS7.1で変更になりました。特に「アプリが起動していなくてもビーコンを検知できる」という点が非常に便利になっています。 そこでiOS7.1でサンプルアプリを作ってiBeaconの挙動をいくつか試してみました。テストに用いたApplicationDelegateソースコードは次のようなものです。 ■サンプルソースコード - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { _locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate =
先日(2014/4/10)、iOSアプリのアップデート申請をしたときに、IDFAに関する質問が追加されていました。 内容は以下の通りです。 ========================================= Advertising Identifier Does this app use the Advertising Identifier (IDFA)? The Advertising Identifier (IDFA) is a unique ID for each iOS device and is the only way to offer targeted ads. Users can choose to limit ad targeting on their iOS device. If your app is using the Advertising Ide
JR東日本アプリ:JR東日本 これ、なんかトップ画面がau損保のクソUIアプリにそっくりだったんで期待MAXでダウンロードしてみたら予想通りの惨状だったのでご紹介。 第一印象 とにかくタップの判定が甘くて押してるのに押せてない、何度もタップさせられるシーンが非常に多い。ものすごいストレス。さらに、通信エラーが頻発するため最初はレビューするのも諦めようかと思ったというかそもそも使うことが無理だった。そしてこいつ、au損保の自転車の日ってアプリにUIデザインが似ている。ANAのアプリとかも最近こんな感じの縦2カラムレイアウトなんだけど流行ってるのか?現在地がわかりにくくて使いづらいんだよなぁ。 というわけでトップ 果たしてこれをトップと呼んでいいかわからないものの、最初にMy駅を選ぶと、その駅がトップになるらしい。乗り入れ路線の電車のリアルタイム発車情報が閲覧できるなど、機能的には面白い。「電
本日iOS SDK 7.1 / Xcode 5.1にアップグレードを行った際にぶつかった所々の問題とTipsをまとめておきたいと思います。 arm64対応とCocoaPods Xcode 5.1からデフォルトのビルド設定$(ARCHS_STANDARD_32_BIT)がarm64、要するに64bit対応を含むようになり、arm64 armv7 armv7sの3つのアーキテクチャに対してビルドを行うようになりました。ソースコードからビルドを行っている場合は大抵問題ないと思うのですが、以下の様なケースでarm64対応を切りたい場合があります。 プロジェクト内にarm64アーキテクチャに対応していないstaticライブラリが含まれている場合。 64bitになると危険なバグが発生するおそれがあるコードが含まれている場合、例えばCGFloatやNSIntegerのサイズが変化したり、各種ポインタのサ
UIWebView上で、動画リンクタップ時やvideoタグ利用時に動画が再生されますが、その再生開始、再生終了の通知を受けとる方法。これもNSNotificationCenter使って実装できます。 //プレーヤ開始時(フルスクリーン状態になった時) [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieIsPlaying:) name:@"UIMoviePlayerControllerDidEnterFullscreenNotification" object:nil]; // プレーヤ停止時 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieStoppedPlaying:) -
Objc-dependency-visualizerというOSSツールを使うと、アプリ内で使用している Objective-C クラスの依存関係をビジュアライズしてくれます。 試しに "iOS7 Sampler" でやってみると、こんな感じのを生成してくれました。 実行するのはrubyスクリプトで、依存関係だけが記述されているだけのシンプルなjsファイルが生成されます。 で、閲覧時にはリポジトリに同梱されている index.html 内のJavaScriptから、生成したjsファイルとビジュアライゼーション用 JavaScript ライブラリ「D3.js」を使用してビジュアライズされます。 そんなわけで、引っ張ったり特定の箇所にフォーカスしたり表示をいろいろカスタマイズしたりできます。 (SVProgressHUDにフォーカスした図) 使い方 GitHubからcloneしてきます。 git
2014/02/09 追記 コメントのところでやり取りしているようにmergepbxの作者さんから連絡があって、この記事で書いた問題が修正されました! 今現在は merge=mergepbx がいい感じになってきているのでそっちがオススメです。 複数人でプログラミングしているとpbxprojがやたらとコンフリクトする 例えば、 Aさんが AALabel.m をプロジェクトに追加して Bさんが BBLabel.m をプロジェクトに追加して とただそれだけなのにマージのときにコンフリクトするpbxprojさん。。。 ただそれぞれファイルを追加だけのことでコンフリクトするなんて… どうにかならんもんかいとTwitterでつぶやいたところ、 @azu_re さんから有り難い教えが! @tokorom gitはファイル別にマージ方法を指定できるので、mergepbxみたいなのをpbxprojのマージ
今更なんだよ?って気がしますが、うちのブログにAFNetworkingについての記事が無いので軽く書いてみます。 2.x系になって変わったこと まず、一番の変更点はAFHTTPClientがいなくなったことでしょうか。変わりにAFHTTPOperationManagerやAFHTTPSessionManagerなるものや、AFXxxRequestSerializer、AFXxxResponseSerializerなどが追加になりました。また、動作可能なiOSのバージョンは6.0以降になってました。 なんだこれ?ってわけで早速触ってみます。 AFXxxManager AFHTTPOperationManagerとAFHTTPSessionManagerがありますが、どうやらiOS 6.xに対応するのであればAFHTTPOperationManagerを、iOS 7.x以降であればAFHTTP
昨年に東京(汐留)で開催された、D2CRさん主催のセミナー「ゲーム以外で!事業として成功させるアプリビジネス最前線!第2回目!」のレポートです。 本記事ではクックパッドさんの講演と講演者のパネルディスカッションについて、まとめていきたいと思います。 クックパッドについて クックパッド(http://cookpad.com/)は1997年に創業、社員138人。(2013年10月末時点) 月間2000万人以上のユーザー(ユニークブラウザ数は月間3,500万以上)、レシピ数は150万品を超える。20~30代の女性の8〜9割が利用。 有料会員(月額294円)は110万人を超えている。 今後3年でこのプレミアムサービスを、500万人に使っていただけるようなサービスにしていきたい。 ユーザーを有料会員化していくプロセス クックパッドはWEB・アプリ両方で使える。検索エンジンで「鶏肉」「チャーハン」など
「僕の来た道」や「Moves」のように、バックグラウンドから意図的にアプリを終了されると行動記録が取れなくなり、非常に困るアプリがありますね(iOS 7以上での話)。 そんな中、「AutoDiary」というアプリが面白いことをやっていました。 バックグラウンドからアプリを終了すると、上のように通知で知らせてくれるのです。これは上手いやり方だな、と思いました。 AutoDiary -PreVersion for iOS6- Tamaライフスタイル無料 というわけで、さっそく実装方法を調査してみることに。 やり方 とりあえず思いついたのが、Local Notificationを使う方法です。 アプリが終了されたタイミングでLocal Notificationを発動させる - (void)applicationWillTerminate:(UIApplication *)application
【参考】untitled - iOS 7 のテキスト入力欄(UITextView)の問題について iOS 7のUITextViewのバグを1行で直す裏ワザ [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"UIDisableLegacyTextView"]; 解説 iOS 7にはバグだらけのUITextViewのほかに_UICompatibilityTextViewというiOS 6以前のUITextView(と思われる)クラスがあり、 メモ(Notes.app)など同様の不具合が再現しない標準アプリは_UICompatibilityTextViewが使われている。 そしておそらくこのフラグによってUITextViewをインスタンス化したときにどちらが使用されるかが変わる。 以下のようにmain.mあたりで設定すると有効にな
iOSアプリ内課金についての記事です。 前置き iOSのアプリ内課金を実装するとき、プロダクト(課金アイテム)をどのように提供するか、検討が必要になります。そうはいっても採択できる方法は次の2つになるのですが。 プロダクトをアプリに内包し課金後それが使用できる実装にする プロダクトをアプリ外(公開サーバ等)に配置し課金後にダウンロードし使用できるようにする 前者は、軽量なコンテンツを提供する場合や、課金アイテムの実体が要らない場合で採用されることが多いです。 対して後者は、比較的大きなコンテンツを提供するときに使われます。たとえばコンテンツがゲームの追加ステージの場合、ステージの画像データ、BGMなどが含まれるでしょう。それらをアプリに内包してしまうと、アプリのサイズが肥大化、アプリダウンロードに問題が生じる可能性があります(モバイル回線でダウンロード可能なiOSアプリのサイズは100MB
Objective-Cのオープンソースライブラリのコードを眺めていると __attribute__ という文に出くわすことがしばしばあります。 これは属性を表すキーワードで、普段そこまで使う機会がないのですが、調べるうちに何かと多人数の開発の時にはご利益がありそうな機能ばかりだと感じたので、まとめておきます。尚、使用環境はXcode5, ARCです。 何ができる? __attribute__はコンパイラディレクティブの一種で、変数、型、関数(Objective-Cではクラスやメソッドも)の属性を決めることができます。コンパイラによる静的チェックや関数の最適化の役に立ちます。 __attribute__の後にはカッコが二重に続き、二重括弧の中でコンマ区切りの属性リストを付与することができます。 __attribute__は変数、型、関数宣言の前後に置かれます。Objective-Cではメソッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く