強火で進め

このブログではプログラム関連の記事を中心に書いてます。

iOSプログラミング

iOS の各種サポート状況を一覧確認出来るサイト

iOS Support Matrix http://iossupportmatrix.com/ Device Compatibility で選択できる機能について、どの端末でどれだけサポートしているかや端末にインストール可能な OS のバージョンなどが確認できます。 Version 3.2 — Summer 2015 — iOS Support Matrix…

「iOS オールスターズ勉強会」に参加してきました

370人参加の大型イベント&そうそうたる講演者なイベント「iOS オールスターズ勉強会」に参加してきました。 募集ページ iOSオールスターズ勉強会 - dots.[ドッツ] http://eventdots.jp/event/311301 Togetterまとめ 2015/2/14 #dotsios iOSオールスターズ勉…

AutoLayout を使った時に左右に勝手にマージン( -16 px )が設定される問題の理由と解消方法

問題の理由と解消方法はこちらの記事が参考になります。 SizeClassesとXcode6でのAutoLayoutの謎マージン - Qiita http://qiita.com/uskiita/items/c643f5868f60b496911e AutoLayout の設定の時点でマージンを設定させたくない場合には Ctrl キーを押しなが…

「G550 パワーシェルコントローラ+バッテリー」からのデータを取得してみた

GCController コントローラの接続イベントが終った直後に GCController のプロパティを確認した所、 gamepad はデータが(アドレスが割り当てて)有り、 extendedGamepad は null でした。 D-pad(アナログスティック)のアナログの値 こちらのUnityで試した時の…

iOS SDK 7でImageIO Frameworkを使ってExif情報にユーザコメントを書き込む時は注意が必要

以前書いたこちらの記事にiOS 7だと設定したコメントが途中で途切れてしまうという情報をコメント欄にて頂きました。自分でも確認して見たところ、iOS SDK 6までは正しく動作するのですがiOS SDK 7からは正しく動作しないようです。具体的には英語と日本語が…

「"_kCFStreamSSLPeerName", referenced from:〜」のエラーが発生した時の対処法

ググるとこちらの情報が見つかりました。 CFNetwork.framework と Security.framework を追加すれば良いみたいです。 ios - Undefined symbols for architecture armv7 while integrating speechkit of nuance dragon mobile - Stack Overflow http://stacko…

ユーザの許可を求めるアラートに追加のメッセージを含める方法

どの機能へのアクセスかに合わせて、以下のKey名を 〜-Info.plist に追加。 (2016/10/01 追加) 現在の Xcode でプロジェクトを新規作成した場合には Info.plist というファイル名で作成されます。 (追加ここまで) 値に指定した文字列が確認のアラートの文章…

Yahoo!開催のiOS 7の勉強会「iOS 7 エンジニア勉強会@ヤフー」の動画とスライド資料が公開

iOS 7勉強会 全セッションの資料と動画を公開します! #ios7yahoo - Yahoo! JAPAN Tech Blog http://techblog.yahoo.co.jp/ios/ios7yahoo/

iOS 7対応の為に追加で必要なアイコン画像サイズ

今までに比べ、iPad向けのアプリには 76x76 とRetinaディスプレイ環境向けに倍のサイズの 152x152 の2つが必要です。 iOS 7はiPhoneでは今の所はRetinaディスプレイ対応のデバイスでしか動作しないのでiPhoneアプリ向けには 120x120 の1つのみ追加で準備すれ…

iOS 7対応関連の情報

iOS 7対応関連の情報まとめ。随時追加する予定。 iOS 7対応の為に追加で必要なアイコン画像サイズ - 強火で進め http://d.hatena.ne.jp/nakamura001/20131001/1380631466 iOS 7時代のUDID(UUID)取得方法 - 強火で進め http://d.hatena.ne.jp/nakamura001/201…

iOS 7時代のUDID(UUID)取得方法

iOS 6の頃に「そろそろ提供辞めるので対策しててよ」って言われてたUDIDなどがiOS 7からは遂に使用できなく(そのまま使用すると問題が出る値を返す)様に成りました。色々と変わっているので情報まとめておきます。 uniqueIdentifier 以下の様な記述で取得さ…

Xcode 5向けにUpgradeしてしまったStoryboardをXcode 4(iOS 6)環境向けに戻す方法

Xcode 5でXcode 4時代に作成したプロジェクトを開くとこの様なビューが表示されます。ここで Upgrade を選択するとXcode 5向けにアップグレードされ、Xcode 4でStoryboardが開けなくなります。 Xcode 4(iOS 6)環境向けに戻す ショートカットキー command+opt…

iOSのこれまでの32bit環境と新しい64bit(arm64)環境、それぞれで sizeof() から返されるデータ一覧

※2013/09/30 NSIntgerの情報が抜けていたので追記。この様なプログラムで確認。 NSLog(@"sizeof(char)=%zu", sizeof(char)); NSLog(@"sizeof(BOOL)=%zu", sizeof(BOOL)); NSLog(@"sizeof(bool)=%zu", sizeof(bool)); NSLog(@"sizeof(short)=%zu", sizeof(sho…

「error: Illegal Configuration: Connection "XXXXX" cannot have a prototype object as its destination.」というエラーの対処法

ソースコードを変更して無いのにいきなり、「error: Illegal Configuration: Connection "XXXXX" cannot have a prototype object as its destination.」というエラーが表示され、???となる。調べてみた所、UITableViewCell関連で出るエラーらしい。しか…

iOS Dev Center が落ちてる現在、iTunes ConnectやAPIリファレンスにアクセスする方法

iOS Dev Centerのサーバが攻撃を受け、現在はiTunes ConnectやAPIリファレンスにアクセス出来なくて困っている人も多いかと思いますが現在でも直接URLを入力すればアクセス可能です。以下のURLにアクセスしてみて下さい。【iTunes Connect】https://itunesco…

「Delphi XE4」がリリース。DelphiでiOSのネイティブアプリ作成が可能に

まぁ、正確にはXE2から既に開発出来てたんですけどね。今回は何か大々的に発表が有ったみたいです。 iOS アプリ作成が容易になった #Delphi #embarcadero 「RAD Studio XE4」の発表会のツイートまとめ。 - Togetter http://togetter.com/li/491665?page=2 プ…

ARCを使ってるプログラムを配布した時に使用者がARCを有効にしないでビルドするのを防ぐTips

Tip: Ensuring ARC is Enabled at Compile Time. | iOS Developer Zone http://iosdeveloperzone.com/2013/04/02/tip-ensuring-arc-is-enabled-at-compile-time/ ちなみにファイルごとにARCを有効にしたい時は -fobjc-arc 、無効にしたい時は -fno-objc-arc …

UDIDが完全に利用禁止に

以前から非推奨に成っていたUDIDですが遂に使用禁止になります。5月1日以降はUDIDを使ったアプリはAppleの審査を通らなくなります。自分の作成したプログラムに以下の様な記述が無いか今のうちにチェックしておきましょう。 [[UIDevice UIDevicecurrentDevic…

iOSでBundleファイルを使う方法

以前参加した「conferenceWithDevelopers」で @akisutesama のセッションで画像ファイルをBundleファイルで持つという話が有りました。 「conferenceWithDevelopers」に参加して来ました - 強火で進め http://d.hatena.ne.jp/nakamura001/20130223/136162823…

Visual StudioでC#を使ってiOSアプリの開発が可能な「Xamarin 2.0」

Visual Studioで「Xamarin 2.0」を使うには「Business」ライセンスが必要みたいです。 後、今回の様にVisual Studioに組み込む事が出来るのは有料版のVisual Studioだけで利用可能だったハズなので持ってない方はそちらの購入も必要なるかと思います。

iOS シミュレータで Bluetooth 通信のテストをする方法

先日、konashiというボードを購入しました。このボードは iOS アプリと Bluetooth LE 通信をするのですが「アプリ作成中は iOS シミュレータでテスト出来ないかなぁ?」と思って iOS シミュレータで Bluetooth 通信をする方法を調べてみました。 iOS シミュ…

使用する Xcode を切り替える方法

Xcode を複数インストールしているとターミナルから色々と処理する時に苦労しますが以下の様なコマンドで切り替えが可能な様です。 sudo /usr/bin/xcodeselect -switch <xcode開発者フォルダーパス>こちらの Director の解説ページで知りました。 Director 12 を使用して iOS デバイスに</xcode開発者フォルダーパス>…

「Instance method '-addSubView:' not found (return type defaults to 'id')」というワーニングの対処法

最近、 Unity ばかり触っていたのですが久しぶりに Xcode でiOSプログラムをしていると「Instance method '-addSubView:' not found (return type defaults to 'id')」などいうワーニングが発生しました。えっ?流石にこれが無くなったハズは無いよな?と思…

Apple公式のサンプル「Tweeting」の不具合の修正方法

Apple の Twitter を使うサンプルが Twitter API の仕様変更で動かなくっていました。具体的は「Get Public Timeline」のボタンを押した時に正しく動作しません。 修正方法 TweetingViewController.m の以下の部分が問題となる部分です。 - (IBAction)getPub…

iPhone 4S が Xcode(Organizer) に認識されなくなった時の対処法

最近、 iPhone 4S をUSBケーブルで繋いでプログラムをしている時に突如、 Xcode(Organizer) から認識されなく成るという症状が出ました。最初やケーブルや Mac OS か iOS の調子が悪いのかな?と思い、ケーブルを変えてみたり、OSを再起動してもダメでした。…

iOSゲーム向けのジョイスティックシミュレータ「Simul80」が実機でのテストにも使える様にバージョンアップ

以前、iOSゲーム向けのジョイスティックシミュレータの記事を書いたのですがその記事に作者さんからバージョンアップしたというコメントを頂いたのでご紹介。今まではiOSのシミュレータでしか使えませんでしたが新しいバージョンでは以下の機能が追加されま…

シミュレータと連携して使えるMac上で動作するジョイスティックシミュレータ

iCadeやGameDockなどiOSデバイスでジョイスティックを使えるデバイス向けにゲームを作ってる時のデバッグに便利そうですね。 Simul80 – iOS joystick simulator for OSX | kode80 http://kode80.com/2012/08/20/simul80-ios-joystick-simulator-for-osx/

ARC対応と非対応の環境両方に対応するコードの書き方

今、何かと話題なOpenUDIDのARC対応と非対応の環境両方に対応するコードが良かったのでメモ。https://github.com/ylechelle/OpenUDID/blob/master/OpenUDID.h #if __has_feature(objc_arc) #define HAS_ARC 1 #define RETAIN(_o) (_o) #define RELEASE(_o) #…

シングルトンを実装する時には @synchronized(self)

Objective-Cでシングルトンを実装するのってどう書くんだっけ?と参考になるコードをcocos2dで探していたらこの様な記述がされていました。 static GameSoundManager *sharedManager = nil; + (GameSoundManager *) sharedManager { @synchronized(self) { i…

iOSのプログラムを書く場合にはインクリメントは変数の前、後ろどちらの方が高速?(その2)

その2では x = ++i; や x = i++; の様な場面で使った時の速度比較。ボタンを押すとテストコードを実行する以下の様なプログラムを準備し、iPhone 4Sでテストしました。 @implementation ViewController #define LOOP_NUM 1000000 static int x_array[LOOP_NU…