酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

開発-iOS

とあるiOSアプリでApp Groupsの処理を追加したらビルドエラーが発生した話

Today Extension対応やAppleWatch対応のためか、iOS 8以降ではApp Groupsと呼ばれる仕組みが追加されました。今回、弊社で開発中の「hoge.app (仮名)」でも採用することになりました。 「Xcodeでのビルドを自動化するxcodebuildコマンドとIPAファイルを作成…

Xcodeでのビルドを自動化するxcodebuildコマンドとIPAファイルを作成してiTunes Connect(Testflight)に投げる方法

2014年にAppleがTestflightを買収してから数年経ちました。Androidのサポートが打ち切られたりして対応に追われたこともありましたが、数年経ち公式にiTunes Connectのアプリ申請プロセスに組み込まれるようになりました。 iOS 8を公開した時期から1つのバー…

Xamarin.iOSで指定したフォント名で描画する

UIFontを生成する際にUIFont.FromNameメソッドを使うことで指定したフォント名のUIFontオブジェクトを生成することが可能です。UILabelのFontプロパティに生成したUIFontオブジェクトを設定することで指定したフォントで文字列が表示されます。 指定したフォ…

Xcode 5のBotsでプロビジョニングプロファイルでエラーが発生してまうので対策した

Xcode botを使い始めました。 リポジトリによってiOSシミュレータのみで解析をしていたはずなのですが実機ビルドを想定しているかのような謎のエラーが発生してしまいます。エラー野内用としては下記のようなものです。 No matching provisioning profile fo…

Objective-Cで同じサイズのUIImageを2つ重ね合成して新しいUIImageを作る

本記事は、2014年2月に書いたコードです。 同じサイズのUIImageを2つ重ね合成して新しいUIImageを作ります。 二枚の画像を重ねて合成する UIImage *srcImage = [UIImage imageNamed:@"test_image"]; UIImage *dstImage = nil; UIImage *overlayImage = [UIIm…

iOSでマスク画像を使ってマスク処理した新しいUIImageを作る

UIImage *srcImage = [UIImage imageNamed:@"test_image"]; UIImage *dstImage = nil; UIImage *maskImage = [UIImage imageNamed:@"mask_image"]; CGImageRef m = maskImage.CGImage; CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(m), CGImageGetH…

iOSで画像の透明な部分を無視するUIButtonを作る

本記事は「画像の透明な部分を無視するUIButtonを作る - iOSアプリ開発の逆引き辞典」に転記しました。 2月からかなり久しぶりにiPhoneアプリを作るお仕事をしています。 月曜日にデザインをデザイン仕様書をもらいました。どんなアプリかというと、日本地図…

「アプリ内課金+広告 iPhoneプログラミング」が発売されます!

秀和システムさまより「アプリ内課金+広告 iPhoneプログラミング」が発売されることとなりました。大場知悟(id:tworks)さんとの共著です。 本書は、iOSアプリのゲームやアプリで使われているアプリ内課金や広告の実装するための手引書です。iPhoneプログラミ…

Google AdMobの広告枠を作成してみよう

Google AdMobのアカウントの作り方については、「Google AdMobのアカウントを作る」をご覧ください。 作成した広告枠を使って、iOSアプリに広告を表示する場合はiOSアプリでのGoogle AdMobのバナー型広告を実装するをご覧ください。 アプリケーションの登録…

iOSアプリ向けの広告の種類

本記事ではiOSアプリ向けの広告のうち広く使われているものを紹介します。 広告の種類 バナー型広告 アプリ内広告といえばバナー型広告です。アプリやゲーム問わずもっとも使われている広告です。 Studio Zebraさんの「2chまとめサイトビューア」では、画面…

9月30日に終了してしまうAdWhirlの応急処置をおこなう (iOS編)

まず最初にAdWhirlの紹介から。 iOS/Android向けのアドネットワーク(スマートフォンの広告提供元)は沢山あります。スマートフォン関連で最も賑やかな分野のひとつで、日々あるところが潰れて、またあるところが登場してきて、アドネットワーク自体の増減があ…

「Undefined symbols for architecture armv7:〜」という警告が出たときの対策方法

オープンソースのライブラリを使おうとプロジェクトに組み込むと、ビルド時に以下のような「Undefined symbols for architecture armv7:〜」というエラーが表示されてビルドに失敗することがあります。 Undefined symbols for architecture armv7: "_kCGImag…

CFNetworkとDarwinの組み合わせからiPhoneとiOSの分布を調べる方法

過去は下記の通りCFNetworkとDarwinのバージョンの組み合わせからiPhoneとiOSのバージョンを特定することができました。2012年の時点ですでに特定が難しくなっています。Google AnalyticsやFirebase Analyticsなどユーザー動向を調べる方法が発達してきてい…

iOSでのアイコンサイズ

iPhone 4Sでタブバーをタップすると選択状態のアイコンが潰れる現象が発生していた。 調査したところ、アイコンのサイズが一定でないことがわかった。正しいアイコンのサイズが分からなかったため、再度調査をしたところ、正しい解像度(画像サイズ)は以下の…

國居貴浩さんのiPhone開発入門本が発売されました

國居貴浩さんの「iPhoneアプリ開発のコツとツボ35」が発売されました。書店に買いにいけるほど余裕がないので……Amazonでポチッと。 iPhoneアプリ開発のコツとツボ35作者: 國居貴浩出版社/メーカー: 秀和システム発売日: 2012/03/29メディア: 単行本購入: 1人…

iOSでNSDateから曜日を取得する

NSDateから曜日を取得する必要が出てきました。このプロダクトでは曜日を取得する処理はほとんど要らないんだけど、他のプロジェクトでも使えるようにNSDateを拡張してカテゴリで実装してみました。あとはこのソースコードを取り込めばNSDateの拡張機能が使…

テキストのスクロールを行うアラートビュー「ScrollAlertView」をGitHubで公開しました

ユーザーに対して長文を読んでもらいたい場合、「見せる」方法はいくつかあると思いますが、すぐに思いつくのはUIAlertView上でScrollViewを載せてテキストをスクロールさせる事ではないでしょうか。今までに誰かが作っていると思ったのですが、オープンソー…

Mashup Awards 6の表彰式に参加してきます

Mashup Awards 6はご存知でしょうか? WebAPIを組み合わせてアプリを作ろうっていうコンテストです。少し前に所属している株式会社ブライトシステム( https://www.bright-sys.co.jp/ )から図書館検索アプリ「Library Guide」リリースしました。このアプリを…

iOSで地図アプリへ位置座標を渡して連携起動する

本記事は「カスタムURLスキームを使って地図アプリに位置座標を渡して連携起動する - iOSアプリ開発の逆引き辞典」に転記しました。 iPhoneOSはマルチタスクではないので、アプリの連携起動を行う場合一旦自分自身を閉じる必要があります、がここでは関係な…

iOSでZBarSDKを使ってバーコードの読み込みをおこなう

すまべん・Androidの会勉強会の時に、モノタッチの中の人がバーコードを読み取る為にこんなライブラリを使っています・・・と、ZBarSDKを使われているのを知って、ぜひうちでも使ってみようと言う事になりました。ZBarSDKは、カメラプレビューからバーコード…

autoreleaseと僕とメモリ不足

Obj-Cにおけるオブジェクトの扱いは、allocだったり、retainだったり、autoreleaseだったりとややこしいですね。 NSAutoreleasePoolのリファレンスによると、メインスレッドでイベントループの最初にNSAutoreleasePoolが作られ、イベントループの最後にrelea…

1台のMacに複数のXcodeを共存させる方法

どうやら、xcodeは、Windows Mobile 6とWindows Mobile 6.5.3を同じ開発環境上で扱うような事が出来ないみたいです。xcodeが更新されたらAppleのサイトから古い方は姿を消します。思い切りの良さはさすがですね……とは言っても、まだまだiPhone 3Gを現役で使…

クラスメソッドとインスタンスメソッドの違い

「 自作アプリをApp Storeで世界に向けて販売できる!! iPhone SDKプログラミング大全 (MacPeople Books)」を見てて、初めてメソッド名の前についている記号の意味を知りました。 |objc| + (戻り値)クラス・メソッド - (戻り値)インスタンス・メソッド ||< い…

Interface Builderを使ってカスタマイズしたUITableViewCellを使ってみた

http://konton.ninpou.jp/program/cocoa/userinterface/UITableView/UITableView1.html http://d.hatena.ne.jp/KishikawaKatsumi/20081024/1224857278 http://ameblo.jp/xcc/entry-10503210925.html を参考に。今日始めてiPhoneアプリを開発を始めたばかりの…

UITableViewを使ってみた

自作アプリをApp Storeで世界に向けて販売できる!! iPhone SDKプログラミング大全 (MacPeople Books)作者: 木下誠出版社/メーカー: アスキー・メディアワークス発売日: 2009/01/06メディア: 大型本購入: 28人 クリック: 856回この商品を含むブログ (72件) を…

iPhone 3GSを買ってきたよ

応用情報技術者試験に合格したので、自分へのご褒美に妹とiPhone3GSを買ってきました。前日に店員さんに話を聞きに言った時にすごく並んでるのをみたので、妹を誘って暇つぶしながら、兄妹3人でヨドバシに買い物してきましたよ。……あ、妹がヒールを履いたら…