[Xcode][iOS] using ‘stringwithstring’ with a literal is redundant の警告

昔つくったソースコードを開いたり、昔に覚えた書き方でソースを書くと、
稀にXcodeが警告を出す事があります。
20130510-01.jpg

このように黄色の帯で警告が表示され、その右には

20130510-02.jpg

using ‘stringwithstring’ with a literal is redundant の表示。
この書き方は、すでに昔の書き方です。
自分で修正してもいいですし、

20130510-03.jpg

左の▲をダブルクリックして
20130510-04.jpg

修正する候補がウインドウで表示され、実際に修正された後のソースコードが
表示されます。これは便利ですね。
青色で反転したところをダブルクリックすると
20130510-05.jpg

ソースコードが修正され、警告の黄色も消えます。
便利ですね!

Could not instantiate class named NSLayoutConstraint

iOSシミュレータ6.0以降で発生した場合、
1)Xcode で .xibファイルを開く
2)「Show the File Inspector」をクリック
3)「Interface Builder Document」項目の中「Use Autolayout」のチェックを外す
これでエラーが出なくなります。
念のため、全xibファイルを調べてみましょう。

UITextViewで表示する文字列の改行をしたい

UITextViewに文字列を表示するときに、改行したいと思って
textView.text = “こんにちは。¥n¥n今日はどのようなご用件ですか?”;
と、C言語と同じ要領で書いてしまうと
「こんにちは。¥n¥n今日はどのようなご用件ですか?」
と、書いた通りに表示されます。
改行するのに、何か別の書き方が必要なのか?
と思い、いろいろドキュメントを調べてみると、理由がわかりました。
・改行コードの¥を入力する時に、「option + ¥」で書かないといけない
ソースコードを見ただけでは[¥]と[option + ¥]の違いが分かりにくいのですが、
こう書かないといけないようです。

Xcode4.5でコンパイルしたプロジェクトがiOS6未満のシミュレータで動かない

iOS6に対応させるため、Xcode4.5でアプリケーションを作ったとき、iOS6未満のシミュレーターで動かない。

例えば、Xcode4.5で「新規プロジェクト」->「Master Detail Application」を作成。ARCやStoryboardを
使わない設定(iOS4対応のため)にして、作成直後のプロジェクトをコンパイル。iOS6未満のシミュレーター
で動かすと(例:マスターページでアイテムを追加、追加したアイテムの詳細を見ようとするとエラー)
「’NSInvalidUnarchiveOperationException’, reason: ‘Could not instantiate class named NSLayoutConstraint’」
のようなエラーが出て止まってしまう。

新しいInterface Builderが原因の模様。

20120926-01.jpg

プロジェクト内のXIBファイルを選択し、上の画面の「Use Autolayout」のチェックを外してコンパイルし直すことで
エラーを回避できる。

次期iPhoneはiPhone?

という話が出てきました。
つまり、バージョン番号がつかない。
まるでiPadと同じですね。
Macbookや Mac mini のように年代識別用に(mid 2012)のような標記が追加される
ことはあると思いますが、基本iPhoneはiPhone, iPadは iPadになるんでしょうね。

iOS 5.1.1 アップデート

iOS 5.1.1 アップデートがリリースされました。
アップデート内容は
•”画面をロック”ショートカットを使用して撮影される写真にHDRオプションを使用するときの信頼性が向上
•新しいiPadで2Gと3Gネットワークの切り替えができない問題を修正
•一定の状況下で、ビデオのAirPlay再生に影響を及ぼす問題を修正
•Safariブックマークとリーディングリストの同期の信頼性が向上
•購入手続の完了後に”購入できません”通知が表示される問題を修正
•iMessageで絵文字が正しく表示されない問題を修正
http://support.apple.com/kb/HT1222?viewlocale=ja_JP
ソフトバンクのiPohneで発生していた絵文字の文字化けが解消されたようです。

iOS サンプル Reachability.h での警告を消す

iOS のネットワーク接続確認用サンプルソース Reachability.m, Reachability.hを
自分のプロジェクトに組み込むと、xcode上で警告メッセージ
「declaration of ‘struct sockaddr_in’ will not be visible outside of this function」
が表示される。これを消すためには、ヘッダファイルReachability.hに
#import
を追加することで警告が消える。
#これ、修正してくれないかな、、、>Appleさん

MobileMeユーザーはMacOSX 10.6 Snow Leopardを無料でもらえる?

Apple Now Giving Away Snow Leopard To MobileMe Customers For Free
http://www.macgasm.net/2012/04/18/apple-now-giving-away-snow-leopard-to-mobileme-customers-for-free/
6月にMobile Meサービスが終了するため、AppleではiCloudへの移行を促している。
それを更に推し進めるため、MacOSX 10.6 (Snow Leopard)の無償提供を行ない、
$29(\2,600ぐらい)で MacOSX 10.7(Lion) へ移行できるようにする模様。
現行Mobile Meユーザーなら申し込み可能なのか。試しに申し込みができるかどうか
ログインしたら、配送先(Mobile Meで登録されている住所)が表示され、申し込み
が完了したらしい。
ただ、iPhone4がiOS4.3.5のままなので、完全に移行はできない(笑)。iOS4の検証
機だから移行できなくてもいいのだけど、「iPhoneを探す」が使えなくなるのはなぁ、、、

AppStore上でのステルスマーケティング禁止。違反者はID剥奪も

Apple社がApp Store上でのランキング保証型サービスを使うことについてアナウンスしました。
https://developer.apple.com/news/index.php?id=02062012a
同サービスを使った不正なランキング操作を行った場合、Developer IDを剥奪するとのこと。
これでステルスマーケティングや不正ランキング操作に対して終止符が打たれることを願います。

Mobile Me から iCloud へ移行してみる

今まで諸般の事情で Mobile Me のまま使ってきたのだが、
ようやく iCloud に移行できる条件が整ったので、移行してみる。
image20120314-01.png

いつもの Mobole Me の画面。画面下のほうに「MobileMeからiCloudへ移行しましょう」
と表示されているが、敢えて無視してログインした。
そうすると、、、
image20120314-02.png

メール画面でも「iCloud へ移行して下さい」メッセージが表示される。
では、ここから移行を進めてみる。
上の画像の右側「移行開始」のところをクリックする。

“Mobile Me から iCloud へ移行してみる” の続きを読む