タグ

iOSに関するyajamonのブックマーク (60)

  • UIImageView で 'Aspect Fit (UIViewContentModeScaleAspectFit)' を指定したときの画像サイズを取得する - 24/7 twenty-four seven

    ↓ 例えばこんなふうに UIImageView に 'Aspect Fit' を指定して表示させたときの領域を知りたいことってありますよね。 がんばって計算してもいいのですが、AVFoundation.framework の次の関数で簡単に取得できます。 CGRect AVMakeRectWithAspectRatioInsideRect(CGSize aspectRatio, CGRect boundingRect); ドキュメントによると、ムービーを CALayer に表示するときに領域にフィットさせるのに便利ということですが、画像に使っても便利です。 上記の画像だと UIImageView の大きさは 280x508 で、画像のサイズは 2047x1199 です。 そこで下記のコードを実行すると返ってくる CGRect は {{0, 171.997}, {280, 164.006}}

    UIImageView で 'Aspect Fit (UIViewContentModeScaleAspectFit)' を指定したときの画像サイズを取得する - 24/7 twenty-four seven
  • iOS9でカスタムURLスキームの遷移に失敗するときの注意点 - Qiita

    iOS9からURLスキームの使用に関する変更があり、 従来のopenURLを実行するだけではカスタムURLスキームの遷移が使用できなくなりました。 ※Apple公式のURLスキーム(ブラウザを開くなど)は正常に動作します。 状況と対策についてまとめます。 iOS8までは有効なカスタムURLスキームによる遷移 // Objective-C NSURL *url = [NSURL URLWithString:@"originalscheme://"]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url]; } // Swift let url = NSURL(string: "originalscheme://")! if (UIApp

    iOS9でカスタムURLスキームの遷移に失敗するときの注意点 - Qiita
  • サイトセンシング、不動産紹介に適した3Dモデル作成サービス開始 - IT、IT製品の情報なら【キーマンズネット】

    基幹系システム ERP 会計システム 電子帳票システム ワークフロー 勤怠管理システム もっと見る 情報共有システム・コミュニケーションツール グループウェア Web会議 テレビ会議/ビデオ会議 ファイル共有 文書管理 もっと見る 情報システム SFA CRM コールセンター/CTI BPM PLM もっと見る メール 電子メール メールセキュリティ メールアーカイブ その他メール関連 もっと見る エンドポイントセキュリティ アンチウイルス 暗号化 認証 ID管理 メールセキュリティ もっと見る ネットワークセキュリティ ファイアウォール WAF IPS UTM セキュリティ診断 もっと見る 運用管理 統合運用管理 IT資産管理 サーバー管理 ネットワーク管理 統合ログ管理 もっと見る バックアップ バックアップツール バックアップサービス テープバックアップ その他バックアップ関連 もっ

    サイトセンシング、不動産紹介に適した3Dモデル作成サービス開始 - IT、IT製品の情報なら【キーマンズネット】
  • なんか急にキター! iOS版「ファイナルファンタジーVII」配信開始

    スクウェア・エニックスは8月19日、App StoreにてiOS版「ファイナルファンタジーVII」の配信を開始しました。価格は1800円で、iPhone 5s以降、iPad 第三世代以降、iPad mini 2以降に対応。 人気ロールプレイングゲーム「ファイナルファンタジー」シリーズの第7作目で、全世界で累計1100万以上を出荷するなど、シリーズの中でも特に人気の高い作品。シリーズではじめて3Dのグラフィックを採用し、ドラマティックな演出にますます磨きがかかりました。今年6月には、実に18年越しとなるフルリメイクが発表され話題になったのも記憶に新しいところです(関連記事)。 iOS版は、のちに追加要素などを加えてリリースされた「ファイナルファンタジー VII インターナショナル for PC」がベース。物語に変更や追加はありませんが、これまでになかった要素として、モンスターとの遭遇をなく

    なんか急にキター! iOS版「ファイナルファンタジーVII」配信開始
    yajamon
    yajamon 2015/08/20
    チョコボの不思議なデータディスク、ありましたな / そんなLv.1クリア推奨しなくても
  • App Storeで過去最大規模の「おこづかいアプリ」大量削除 ランキングを不正操作する「おこづかいアプリ」と「リワード広告」の関係とは

    App Storeのランキングを不正に操作していると問題視されている「リワード広告」。その中心的役割を担っている「おこづかいアプリ」が少なくとも26個、すべて8月7日23時過ぎ、一斉に削除されていたことが分かりました。 8月7日午後11時に突然削除された「おこづかいアプリ」たち 今回対象となったのは、「ECナビ」「パカポン」「お金つむつむ」「アルぱっか~ん」「ゴマっち!」「おこづかいクエスト」などのおこづかいアプリ。中にはかなり多くのユーザー数を抱えている人気アプリも含まれています。 おこづかいアプリというのは、表示されるアプリをダウンロードするとポイントがもらえ、ポイントを溜めることでiTunesカードや電子マネーなどに交換できるというもの。報酬(リワード)目当てにダウンロードが殺到することで、出稿しているアプリを不正にランキング上位へ導くものです。 「リワード広告」の中心的役割を果たす

    App Storeで過去最大規模の「おこづかいアプリ」大量削除 ランキングを不正操作する「おこづかいアプリ」と「リワード広告」の関係とは
  • iOS(Xcode6とObjective-C)におけるマルチスレッド(非同期)処理の実装方法その2[GCD(Grand Central Dispatch)の利用]

    iOS(Xcode6とObjective-C)におけるマルチスレッド(非同期)処理の実装方法その2[GCD(Grand Central Dispatch)の利用] エントリーではGCD(Grand Central Dispatch)を利用したiOSのマルチスレッド(非同期)処理の実装方法を説明させていただきます。 GCDはiOS4.0以降で利用可能です。 利用しているXcodeは6.1です。 エントリーの内容は以下の通りです。 GCD(Grand Central Dispatch)の概要 シリアルキューとコンカレントキューを利用したマルチスレッド処理 メインディスパッチキューを利用したマルチスレッド処理 各種キューを組み合わせたマルチスレッド処理 1 GCD(Grand Central Dispatch)の概要 GCDで利用できるキュー GCDで利用できるキューの種類は以下の3つとなりま

    yajamon
    yajamon 2015/07/29
    “UIコンポーネント(iOSアプリケーションで画面に表示しているラベルやテキストボックス等)の表示テキスト等を変更する処理は、メインスレッドで行う必要があります”
  • iOS7ステータスバー対策まとめ - Qiita

    iOS7ではスタースバーは透明、ナビゲーションバー、タブバー、ツールバー、検索バー、スコープバーは半透明。一般的なルールとしてコンテンツの上にこれらのバーを被せることを想定しスタースバーの下に何もバーがないならコンテンツはフルスクリーンコンテンツにすべき。とある。 iOS7 フレームワーク判定 iOS 7 UI Transition Guideにはこんなやり方が書いてある。場合によってはバージョンよりもNSFoundationVersionNumberを使うほうが意図が明確になる。 if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { // Load resources for iOS 6.1 or earlier } else { // Load resources for iOS 7 o

    iOS7ステータスバー対策まとめ - Qiita
  • Xcode7時代のObjective-C - Qiita

    Swift2の発表で活気付く中、Objective-Cもひっそり進化しています。 iOSアプリは何個か作ってきたけど、急にSwiftに移行するのは……という方! Xcode7で使えるようになったモダンな文法をちょっとだけ採用してみませんか? きっと手元のコードが美しく、保守しやすくなりますよ! 新しく使えるようになった文法 新しく使えるようになった……と、いっても2つだけです(´・ω・`) Generics Nullability Annotation Generics (1)  ArrayやDictionaryに追加するオブジェクトの制限 特定クラスのインスタンスだけをArrayやDictionaryに追加したいケースで有益です。 今までのObjective-Cでは、こんなコードを書いてインスタンスの型チェックを行う必要がありました。 if ([[hoge class] isSubcla

    Xcode7時代のObjective-C - Qiita
    yajamon
    yajamon 2015/07/27
    “Genericsを使うとArrayやDictionaryの宣言時に格納する型を指定できます。”
  • Exifなどのメタデータを自由に操作するにはどうするか - プログラミングノート

    Best Albumの開発でもっとも苦しめられたと言っても過言ではないのがExif操作。iOS4以降で自由にいじれるようになったとはいえ、あまりまとまった資料がなくて大変だったのでこれから作る人のために。(iOS4.2で動作確認をしています) ライブラリ ここでは下記のフレームワークを利用します。 #import <AssetsLibrary/AssetsLibrary.h> #import <ImageIO/ImageIO.h> フォトライブラリへの保存 ImagePickerControllerで撮影を行ってから保存する場合、通常の方法ではExif情報が保存されません。Exifを保存したい場合はiOS4.1から追加されたAssetsLibraryのメソッドを利用します。 まずはカメラ(or フォトライブラリ)の起動 UIImagePickerController *imgPicker

    Exifなどのメタデータを自由に操作するにはどうするか - プログラミングノート
  • [iOS] 複数のStoryboardを使って画面遷移を作成する | DevelopersIO

    単一のStoryboardでうまく画面遷移を表現できない Storyboardを使ってアプリを作成していると、画面遷移の定義が楽な反面、巨大なStoryboardが生まれてしまったり、うまくSegueで表現できずに同じような画面遷移を2度定義してしまったりすることがあります。このため、Storyboardの使用をあきらめようとする事もあるかと思いますが、Storyboardを分割するとうまい具合に実装できることもあります。 そこで今回は、複数のStoryboardを利用して画面遷移を作成する方法をご紹介したいと思います。 開発環境 今回の開発環境は下記の通りです。 OSX 10.8 Xcode 4.6.1 iOS SDK 6.1 ソースコードはGitHubで公開しています。 共通の画面遷移を別のStoryboardに切り出す 共通の画面遷移部分を再利用したい NavigationContr

    yajamon
    yajamon 2015/06/24
    なんかむづかしそう。でも大事なんだろうな。
  • [iOSアプリ開発] いまさら聞けないモダンな書き方 | DevelopersIO

    Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n

  • 速報:AppStoreでタイトル審査、厳格化?! 〜ASO Tips〜

    猛暑ですね! 私は別の意味で、熱い一週間でした。Appleの審査に変化を感じたので、速報でお伝えします。 速報だけに、画像なくてごめんなさい・・・。 先週、ASOコンサル先で何件か、タイトルのリジェクトをもらったので連載からちょっと脱線して報告です。 先週に限って、リジェクトが集中しました。 それも、全部タイトルでした。 要は「タイトルにキーワードを入れないように。キーワードはkeywords欄に入れるもの。」ということ。 「今までがOKだったから、多少キーワードてんこ盛りでも、まぁいいでしょう」という意味ではなく、一応、節度を持ったライティングをしているつもりでした。 実際に、つい先々週に『激戦!「写真デコアプリ」タイトルから学ぶ – DL底上げTips02』で、「度を超えたタイトルの付け方をしていると、今後タイトルでリジェクトされる例が増えるはず」と、自分で書いていたくらいですから。

    速報:AppStoreでタイトル審査、厳格化?! 〜ASO Tips〜
    yajamon
    yajamon 2015/04/24
    アプリ名に突っ込むのはストアを汚す行為だからね。隣の芝に釣られちゃダメ。正攻法としては一行PRする文言の場所をくれ、とAppleに訴えかける事かなぁ。
  • Appleとの戦い

    Apr 1, 2015 戦史 2月27日 戦いの始まり かねてより噂されていた2chAPIの仕様変更が開発者に告知された. 私は2tchを修正し,新しい仕様に対応した2tchをiTunes connectに送信した. 戦いは,この日に始まったのである. 運営側の急な仕様変更に伴う作業であることをAppleに通知,特急審査を依頼し,受理される. 今思えば,このとき,この依頼をし,さらに受理されていたことが以後の戦いをスムーズにする,この戦いにおける不幸中の幸いであったことが痛感される. 2月28日 一回目のリジェクト. 理由は,App Store Review Guidlines - 16.1 Objectinable contentへの抵触. 確かに,低俗かつ卑猥な言葉がちりばめられたスレッドが指摘されている. たまにあることなので,指摘された板をフィルタリングし,再度新しいバイナリを提

  • すごすぎるだろ、これ…。クラフト系サバイバルゲーム、Radiation Islandリリース。 - ゲームキャスト

    スマホ最高クラスのグラフィック、狩りや伐採を通じて素材を採取して多様なアイテムを作れるクラフト要素、放射能に犯された島を探索するアドベンチャー要素……期待のサバイバルアドベンチャー、『Radiation Island』がリリースされた。 軽くプレイしてみたが、とにかく「すごい!」の一言しか出てこない。 グラフィックだけでなく、昼夜の時間の流れ、さまざまな生物が住む島の様子など、すべてがハイレベル。 日語に対応していているのでクラフト要素や操作で迷うこともなく、人気を集めそうな作品だ。 島の昼。 そして夕方。美しい。 狼、兎、熊などさまざまな生物が生息しており、狩ってべられる。 素材を集めてサバイバルに必要なアイテムを作ることもできる。 ハングライダーを作って飛ぶこともできるようだ。 謎の廃墟。そして不思議な人々。 放射能に犯された島の謎を知っているのだろうか? 公式サイトの画像を見ても

    すごすぎるだろ、これ…。クラフト系サバイバルゲーム、Radiation Islandリリース。 - ゲームキャスト
    yajamon
    yajamon 2015/01/30
    ここに1m四方のブロックを置くじゃろ?
  • スマホUI考(番外編) 顧客やユーザーの要望に全て対応すると、アプリは99%破綻する | fladdict

    顧客や上司、ユーザーの場当たりな要望に対応しつづけると、どんなアプリもゴミアプリになる。たとえそれが理にかなった要望であっても。 なぜなら面積の限られたスマホでは「一画面の機能数とボタン数」が、使い易さと品質に深くリンクしているからです。 ということを、エラい人にプレゼンするのがお仕事の今日この頃。でも毎回毎回、同じことを説明するのがシンドイので資料をブログにまとめたいなぁと思うなど。 思考実験として、ここでは架空事例としてTwitterアプリを例に考えてみる。 何かの間違いで、日の大手メーカーがTwitterを買収すると・・・UIデザイナーが体を張らないと99%ぐらいの確率でこうなるのです。 ここがオリジナル Request1: ダイレクトメッセージをトップ階層に ユーザーからの真っ当な要望。実際にはサービスの質ではないのですが、要望はかなり多いはず。 ただTwitter社的にはme

    yajamon
    yajamon 2015/01/26
    このデザインにすっげー似てきてるけど、一致はしていない。UI屋さん頑張ってるんだなぁ
  • Apple Watch用アプリ開発キット「WatchKit」、開発者に提供開始

    Appleは現地時間2014年11月18日、同社が来年発売予定の腕時計型ウエアラブル端末「Apple Watch」に対応したアプリケーション開発のためのソフトウエアツール群「WatchKit」の提供を開始したと発表した。 開発者はWatchKitを使って、「iPhone」向けアプリケーションを拡張してApple Watchと連動させることができる(写真)。開発者向けプログラム「iOS Developer Program」の登録者は、WatchKitを含む「iOS 8.2 SDK beta」と組み合わせた「Xcode 6.2 beta」を開発者向けサイトからダウンロード可能。新たに開設されたWatchKit専用サイトでは、プログラミングガイドやヒューマンインタフェースガイドライン、テンプレートなども提供している。 WatchKitでは、Apple Watch上で動作するアプリケーション(W

    Apple Watch用アプリ開発キット「WatchKit」、開発者に提供開始
    yajamon
    yajamon 2014/11/19
    "38mmモデルは解像度340×272ドットのディスプレイ、42mmモデルは解像度390×312ドットのディスプレイを搭載する。"
  • iOS8対応時の問題点、注意点|11. 00100100…

    iOS8対応時の問題点、注意点 Posted on 2014年9月19日(金) 20:14 iOS8対応にあたり苦労する箇所、問題になった箇所です。 iOS7以降からのアプリの移植に際するものです。 最初からiOS8だけ考えるなら苦労することはありません。 間違ってもこれからiOS7も対応しよう! なんて無駄なことはしないことです。。 まずiOS8は見た目はあまり変わっていないにも関わらずメソッドやクラスの廃止、仕様変更がかなり大胆に行われています。 これはiOS3以降、過去をみても最大規模じゃないかと思います。 (どの程度影響するかはアプリによって違うので個人的感覚になりますが) しかも苦労して対応しても使い勝手が良くなるような性質のものじゃないのが主です。うわー。 犯人はswiftだと思います。swiftから使いやすいように古い設計のものを一新したんだと思います。 画面の回転 まず最大

    iOS8対応時の問題点、注意点|11. 00100100…
    yajamon
    yajamon 2014/10/20
    "まず最大の難所は画面の回転周りが大幅に仕様変更になったことです。メソッドの廃止とか生易しいレベルではなく、座標系が変わりました。" フョエー
  • XCode6のiOS simulatorでHTTP通信ができない - フニゲの開発日記

    2014-09-23 XCode6のiOS simulatorでHTTP通信ができない 検索に引っかからなくて一晩無駄にしたので、ちょっとメモ。  UIWebViewでサーバーのファイルを読むところで{NSErrorFailingURLStringKey=***, NSErrorFailingURLKey=***, NSLocalizedDescription=ネットワーク接続が切れました。, NSUnderlyingError=0x79f19f20 "ネットワーク接続が切れました。"}  とかエラーが出てダウンロードできないのは、セキュリティソフトが原因だった。うちはカスペルスキーが入っているのだが、他のソフトでも同じ問題は出るようだ。 iOS SimulatorでiOS8を動作させるとHTTP通信ができない - Qiita(追記)ウイルスソフトがオフでも接続できないときがあるような…

  • UIKit | Apple Developer Documentation

    Construct and manage a graphical, event-driven user interface for your iOS, iPadOS, or tvOS app.

    UIKit | Apple Developer Documentation
  • Xcode 5 になって変わった開発周りの微妙な違い

    開発環境が Xcode 4 から Xcode 5 に変わって気になったアプリ開発の違いを整理してみました。 iOS 7 の登場と合わせてリリースされた Xcode 5 ですけど、それまで使用していた Xcode 4 と比べて気になる違いがいくつかありました。 それらについて、現象とその対処方法を整理してみます。 ステータスバーがルートビューに重なるようになった iOS 7 環境では、ステータスバーが原則的にルートビューに重ねて表示されるようになりました。 これは iOS 7 のレイヤーを重ねる発想とコンテンツを大事にコンセプトに依るもので、ステータスバーなどにも透明感を持たせ、その下のコンテンツの存在を示すのには不可欠な存在です。