niwatakoです。株式会社はてな で はてなブックマーク のiOSアプリ の開発をしています。Webエンジニアの皆様には人気ですがiOSエンジニアの皆様にも はてなブックマーク を使っていただけると嬉しいです。いつもWebネタだけ盛り上がっててずるい。あと技術ブログ書くならはてなブログ! よし、仕事終わり。あ、これは特に本心です → いつもWebネタだけ盛り上がっててずるい。 try! Swift セッション聞き起こしを3日分まとめました!!誤字脱字はご容赦ください、リアルタイムに速記したものです。新聞記者などはリアルタイムに速記するのを "聞き起こし" と呼ぶそうです。 ありがとうございました!そして、お疲れ様でした! とうとうこの夢の様な、エキサイティングで素晴らしい3日間が終わってしまいました。 ちょっと前置きとしては長くなりますが、最終日なので感想を書かせてください! 聞き起こ
クラフトサバイバルゲーム『Radiation Island』や戦車バトルゲーム『Battle Spermacy』など、iOSで人気の有料ゲームはなぜAndroidに移植されないのだろうか? その理由を開発元Atypical GamesのCEO、Andrei LopataさんPocket Gamerの記事で語っている。 簡単に言えば、「Androidでは有料ゲームが売れないから」だそうだ。 彼らは第二次世界大戦を舞台としたドッグファイトゲーム『Sky Gamblers: Storm Raiders』をGoogle Playでリリースしたが、有料ゲームトップ10に入ったにもかかわらず満足いく収入は得られなかったという。 (なお、このゲームは世界的に人気であり、Appleに表彰されたアプリでもある。品質には問題ないというのがゲーキャスの見解だ) しばらくして、Androidのユーザーは有料アプリ
OpenCV for iOSの使い方 じゃあこのスクリプトをいじって cmake 実行時にオプション渡すようにするかー、と思って中身を見てみたけどけっこう複雑。。 cmake の勉強とかはまたの機会でいいので、今は手っ取り早くビルドしたい・・・どうしたものか・・・ 解決方法その1: 全部入りフレームワーク作成 こういう記事が見つかりました。 http://xfanzone.me/opencv-for-ios-en.html You can just copy the wanted modules to the modules folder inside opencv source folder, and then run build_framework.py as usual. If everything is OK, this will produce the customized fr
こんにちは。最近はもっぱらアプリ開発に没頭している佐々木です。 開発はコード書いたりしている時は何気に楽しかったりもするんですが、リリースまで漕ぎ着けるのは大変ですよね・・・ 特に最近ではiOSでもデバイスの種類が増えてきたので、以前に比べて品質保障が難しくなってきました。 私はiOSアプリを開発する時、iPhone6が発売される以前はStoryBoardを使わずにすべてコードでレイアウトも作っていたのですが、”iPhone6” や “iPhone6 Plus” が発売されてからというもの、メンテナンス性も考えて使用言語をObjective-CからSwiftに変えたり、レイアウトにはStoryBoardを使うようにシフトしています。 今回はその中でもAutoLayoutのサイズ指定(比率:%)のテクニックについてご紹介したいと思います。 目次 StoryBoardでは比率(%)指定ができな
という記事を見かけたので。 このライブラリの実装の問題点 key description type 基本的には強制バージョンアップを行うことを前提に解説していますが、SRGVersionUpdaterではキャンセルボタン付きの告知アラートを表示することも出来ます。強制アップデートの場合は"force" を任意でのアップデートの場合は"optional"を入力して下さい。 これ、設計ミスってません? 一度致命的なバグを出して"force"で通知したら、それ以降二度と"optional"は使えません。「必ず一定以上のバージョンを使って欲しいけど、最新版の通知もしたい」ようなユースケースに対応できないなら、"optional"の存在意義はない気がします。 あと、「評価が付くまで様子見ユーザー」層は毎回"optional"の通知を繰り返し見せられて離れます。開発者がいいと思ったアップデートが必ずし
強制アップデートとは? 多くのアプリを利用されている方でしたら、何度か下記の画像のようなアラートでアップデートを促されたことがあるかと思います。このアラートは閉じるボタンが存在せず、「AppStoreへ」のボタンしか存在しないため、ユーザーにはアプリを操作するためにはアプリをアップデートする以外に選択肢がありません。この記事では、この様なアラートをアプリ起動時に表示する機能を強制アップデート機能と呼び、なぜそれが必要なのかと、たった3行でこの機能を導入できるライブラリについて記述します。 なぜ強制アップデートが必要なのか? iOS7以降、自動アップデート機能は追加されたもののもちろん全てのユーザーがそれを利用しているわけではありません。中には、リリースから半年以上経過しても初期バージョンを利用し続けるユーザーの方もいます。では、この様に古いバージョンを利用しているユーザーも多くいる状態で、
Launching a new app in the mobile age is hard. If you want to reach a wide audience, you usually have to make your client three times at minimum: once for Android, once for iOS, and once more for the Web. Building an app on three different platforms means three times the work, with three times as many bugs to squish. To make matters more complicated, these clients all use different programming lan
Nov 20, 2014 iOS, OSXで利用できるライブラリ管理ツールといえばCocoaPodsが有名ですが、 それとはまた違った方針のCarthageというライブラリ管理ツールがリリースされました。 GitHubのデベロッパーを中心としたチームで開発が進められているようです。 https://github.com/Carthage/Carthage インストール方法 Releasesからpkgをダウンロードして、インストーラーを実行します。 使い方 Cartfileを書く carthage updateを実行する Carthage.buildに作成された.frameworkをXcodeに追加する Cartfileではgithub, gitの2種類のキーワードが利用でき、以下のように書きます。 サポート対象 Carthageはdynamic frameworkのみをサポートするため、C
Xcode6で密かにベクター画像が使えるようになっています。 これを使えば@1x, @2x, @3x画像を用意する煩わしさから解放されます! 使い方は非常に簡単です。 PDF画像を@1xのサイズで書きだす。 AssetCatalogをクリックする New Image Setで画像セットを追加する 画像のようにAttributesのTypesをVectorsに変更する 作成したPDF画像を置く。 こうすれば後は今までと同じように画像を扱えます。 注意しなければいけないことは完全なベクター画像の対応というわけではなく、ビルド時に@1x, @2xなどの各PNG画像が書き出されるようです。ソースコード上で拡大や縮小ができるわけではないようです。 デザイナーの負担もエンジニアの負担もすごく軽くなりますね。 WWDC 2014 Session Videos - Apple Developer
経緯は以下です。 9/11にザクザク芝刈りというゲームが審査を通りました。 2.25対策にアイコン広告、おすすめボタンをネットワークスイッチで隠して審査を通しました。本当はダメですが今までもこうして通してきました。審査が通った後にネットワークスイッチをONにしました。 9/19にメールが届き、Resolution Centerにはこう書かれていました。 ======================= Reasons 2.25: Apps that display Apps other than your own for purchase or promotion in a manner similar to or confusing with the App Store will be rejected Hello, We are writing to let you know about
(WWDC 2014 発表資料より引用) つまりどういうこと? iOS 8 から位置情報の取得方法が変わるようです。今までの方法だと位置情報が取れなくなります。(すでにAppStoreに並んでいるアプリについてはこの限りではありません) iOS 8 : Location Services not working My app that worked fine in iOS 7 doesn't work with the iOS 8 SDK. CLLocationManager doesn't return a location, and I don't see my app under >Settings > Location Services either. I did a Google search on the issue but nothing >came up, what cou
iOS 8 の新しいグラフィクス API。ワクワクしますね! 先のWWDCでAppleはMetalを発表しました。Metalは省オーバーヘッドで高効率、A7チップ用に設計された新グラフィクスAPIです。Metal はiOS搭載ハードウェアの機能をフルサポートしており、これまでよりずっとリアルで緻密でインタラクティビティにも優れたアプリケーションを作ることができるでしょう。 私たちは間もなくMetal でのレンダリングをサポートします。それに先立って、この新テクノロジーを皆さんにご紹介し、Metal がどんなにすばらしいかご説明させていただきたいと思います。 Metal の概要 Metalは小さなオーバーヘッド、揺らぎの少ない安定したパフォーマンス、プログラムのしやすさを実現するためにいくつかキーと成るアイデアを備えています。 Metalではリソースをできるだけ前もって作成し、評価するように
App Extension とは? App Extension (Extensions) は、iOS 8 から導入される、新しいアプリ間連携のしくみです。 iOS では、以下の 6種類の Extension point *1を利用することができます。 Today Share Action Photo Editing Storage Provider Custom keyboard 大まかな仕組みは同じなのですが、見た目/機能は Extension point によって色々と違いがあり、実装方法も違ってくる(部分もある)ので、個別に説明していきたいと思います。 まずは一番説明しやすい "Action" から。 1. ターゲットを作成する Xcode の [File] > [New] > [Target] から、[Application Extension] > [Action Extensi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く