2014年4月24日木曜日

iOS4からのアニメーションはanimateWithDuration: が標準

いままで、Viewのアニメーションは、beginAnimations:を使ってたけど、なんとiOS4からは、ブロック構文をつかったanimateWithDurationが普通なのな。

なぜここに行き着いたかというと、アニメーションを2つ続けるとうまく動かない(並列動作してしまう)ため、もう少しうまく動かしたかったためです。

で、結果は次のコード。隠してからcompletionで表示すればいいということになります。

今ひとつ文法理解していないけど、こういうことですw


- (void)hideAndShow_hideView:(UIView *)hideView showView:(UIView *)showView{
    // アニメーションでビューを隠す
    self.view.frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.height-100, [[UIScreen mainScreen] bounds].size.width, 100);
    [UIView animateWithDuration:1.0f
                          delay:0.0f
                        options:UIViewAnimationOptionCurveEaseInOut
                     animations:^{
                         self.view.frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.height-50, [[UIScreen mainScreen] bounds].size.width, 100);
                     }
                     completion:^(BOOL finished){
                         hideView.hidden = YES;
                         showView.hidden = NO;
                         [UIView animateWithDuration:1.0f
                                               delay:0.0f
                                             options:UIViewAnimationOptionCurveEaseInOut
                                          animations:^{
                                              self.view.frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.height-100, [[UIScreen mainScreen] bounds].size.width, 100);
                                          }
                                          completion:^(BOOL finished){
                                          }
                          ];
                     }
     ];

}

2014年4月22日火曜日

UITabbarControllerでTabbarItemが灰色で見えない

これ絶対ハマりません?

自分はXCodeが壊れたかとおもって、XCode再インストールまでしちゃいましたよ。ディスクユーティリティでアクセス権も治したし。ほんとかんべんしてほしい。

正解はどうやら、TabbarItemがCustumになっていることから来ているらしい。

しかも修正は飛び先のItemをCustumから他のものにした上でSegueを繋ぎ直すというなんともな仕様。どうにかしてほしいなう。

で無事灰色がなくなりました。っていうかググっても出てこなかったんですが、皆んな困ってないのかね。ま、いいけど。1日損したわ・・・

2014年4月20日日曜日

Wahoo Fitness API

Wahoo ハートレートモニターがやって来ました。

何故購入したかというと、甲状腺機能亢進のため心拍が高くなる傾向にあり、高いときには抑えるためにβ遮断薬を服用しなくてはならないからです。

1日3回飲めばいいのですが、忘れたり、規定通りの服用でもいいとも限らないので常時チェックしたい。

運動アプリでモニターすればいいのかもしれないですが、今ひとつ用途がちがうもので、自分で作ろうかしらん、という感じです。



APIドキュメントについては、XCode5以上ですとWebサイトにある方法ではドキュメントは入れられません。そのためには、WahooからもらえるSDKにある*.docsetを、Finderで「このMac」を選択したあと、右上で「DocSets」と検索してでてくるDocSetsフォルダに入れ込みます。XCode5を再起動し、Window-Documentation and API Referenceを選択するとWahoo APIのリファレンスが見れます(といってもWebサイトと変わりなさそうです)。



Wahoo Fitness APIは、WFHardwareConnector というクラスとして提供されます。WFHardwareConnectorはANT+ とBTLEセンサーの設定やデータ取得が可能です。

− 下準備

❏プロジェクトの設定
  プロジェクトのBuild SettingsのLinking セクションにあるOther Linker Flagsで、-lstdc++ -all_load  を設定します。

❏ターゲットの設定
  ターゲットのBuild PhasesにあるLink Binary With Librariesで+ボタンを押下し、Add Other... ボタンを押し、ダウンロードしたWahoo Fiitness APIにあるWFConnector.frameworkを選択する。さらにiOS標準のフレームワークのうち、ExternalAccessory.framework、CoreBluetooth.framework、libstdc++.dylib(iOS7 SDKの場合)を指定する。その際、CoreBluetooth.frameworkはOptionalを指定する。

❏アプリケーションバンドルの設定
 アクセサリ接続とバックグラウンド動作のため info.plistに次を設定する。
    Supported external accessory protocols  のitemにcom.momentumoftechnology.fisica 

    Required background modes のitemにexternal-accessory, と bluetooth-central 

注)prepareForBackground (WFHardwareConnector)がバックグラウンドモードと転送準備のためにリソースを初期設定する。しかしreturnFromBackground (WFHardwareConnectorと合わせて、iOS5.0以降ではこれらメソッドは不要。バックグラウンド操作では以下が必要。

さらにマニュアルにはありませんが、Wahoo Fitness APIではarm64がサポートされていません。そのため、プロジェクトのBuild SettingsのArchitecuresで、ArchitecuresをStandard(armv7,armv7s,arm64)からothersで、$(〜STANDARDS)とかを削除して、armv7とarmv7Sをそれぞれ+し(一緒にいれてはいけません)、Build Active Architecure OnlyをたぶんNO(かな?)、Vaild Architecures でarm64を削除します。

これでサンプルとかがコンパイルできるようになります。

2014年4月18日金曜日

Googleの広告デリゲートを別クラスにするには

Gooleの広告(AdMob)のデリゲートをrootViewControllerなんかにいれちゃうと、どうもソースコードがコテコテに油っこくなっちゃいます。

なので、adMob.delegate = selfってやつを、adMob.delegate = adViewController (そう、AdMobの場合、デリゲート先はViewController限定なのでした)なんてすると、どうもハングアップしてしまいます。

しかたないのでrootViewControllerにながながとAdMobのコードを入れ込みましたが、どうも気持ち悪い。


で、rootViewControllerで、どうにかしてadViewControllerを生成してなんとかならないか、いろいろググっても出てこない・・・

いろいろと試した結果、こんな感じで成功しました。

1.FileでViewControllerとしてAdViewController.h/.mを作っておく。

2.ストーリーボードでAdViewControllerをViewController部品をドラックしてきて作る。
 大きさはSizeをFreeformにして、320x50に指定(指定しても関係ないっぽいですが)。
 クラスはAdViewControllerにしておく。
 Storyboard内で繋げないので、Storyboard ID に"adViewController"とか名前をつけておく。

3.rootViewController内でStoryboard内のAdViewControllerのインスタンスを生成しAddViewする。
Storyboard内にAdViewControllerが定義済みなので、そいつを[self.storyboard instantiateViewControllerWithIdentifier:@"adViewController”];でインスタンス化してあげる。
ここがキモでした。

その上で、presentViewController「ではなく」、adViewControllerのビューをaddSubviewしてあげるのです。

#import "AdViewController.h"

@interface rootViewController ()
@property (nonatomic,strong) AdViewController * adVC;
@end

@implementation rootViewController

- (void)viewDidLoad {
[super viewDidLoad];
        
    _adVC = [self.storyboard instantiateViewControllerWithIdentifier:@"adViewController"];
    [self.view addSubview:_adVC.view];

@end

4.最後にAdViewControllerのviewDidLoad内に、self.viewのCGRectで、rootViewController内のView上の位置や、self.view内のAdMobのビューの位置を指定してあげたり、デリゲートをselfにしていろいろ書いてあげたりする。つまりAdMobの処理はAdViewController内に「全て」記載してあげればいい。それだけ。

いやぁ、悩みましたよ。それだけ。はい。

2014年4月17日木曜日

Objective-Cのオブジェクト間のメッセージとデータの共有

オブジェクト指向の場合、いろいろとオブジェクトを分割してはじめてその威力を発揮する。

しかしその場合は、オブジェクトからオブジェクトにイベントとデータを送り、連携しなくてはならない。

その連携の方法の基本は以下の3つに分類できる。

・生成元のオブジェクトから生成先のオブジェクトへのメッセージは、メソッド呼び出し
・その逆はデリゲートとなる。
・任意のオブジェクト間のメッセージは通知(Notification)となる。

やっとわかったよw

あとは、オブジェクト間のデータ共有はこれだ(多分)。
以下ではClassAとClassBとの間でvatModeを共有する。共有は非常に楽ちんだ。

ただしイベントは飛ばないので値の変更通知が必要な場合は上の3つを使うことになる。


なお、プロパティは循環参照にならないので、どのクラスでもStrongでいいらしい。ひとつ賢くなったかなう?

-------SharedValue.h------
‪#‎import‬ <Foundation/Foundation.h>
@interface SharedValue : NSObject
+(id)sharedAllocation;
@property (nonatomic, strong) NSString *vatMode;
@end
-------SharedValue.m------
#import "SharedValue.h"
@implementation SharedValue
static id allocatedInstance = nil;
+(id)sharedAllocation{
if (allocatedInstance == nil) {
allocatedInstance = [[self alloc]init];
}
return allocatedInstance;
}
//--- shared value----------
-(NSString *)vatMode{
if(!_vatMode) _vatMode = [[NSString alloc]init];
return _vatMode;
}
@end
------------------------------------
------ ClassA.m --------------
#import "SharedValue.h"
@interface ClassA ()
@property (nonatomic, strong) SharedValue *sharedValue;
@end
@implementation ClassA
-(id)init {
self = [super init]
if (self) {
_sharedValue = [SharedValue sharedAllocation];
_sharedValue.vatMode = @"ClassA";
}
return self;
}
@end
------ ClassB.m ------------
#import "SharedValue.h"
@interface ClassA ()
@property (nonatomic, weak strong) SharedValue *sharedValue;
@end
@implementation ClassV
-(id)init {
self = [super init]
if (self) {
_sharedValue = [SharedValue sharedAllocation];
_sharedValue.vatMode = @"ClassB";
}
return self;
}
@end
------------------------------------

2014年4月15日火曜日

Storyboard で UITableViewController にツールバーをつけるには

StoryboardでStaticCellを使うにはUITableViewControllerを使う必要があります。

UITableViewControllerをつかってみると、なんとUITableViewがフルスクリーンになったまま、ほかの部品を入れようとしても、テーブル内の部品になり、CancelボタンやDoneボタンを入れ込むことができません。

が、しかし、出来ることがわかりました。


なんと、UIViw部品をUITableView部品の上にねじ込めば(ドラッグすれば)よかっただけなんですよね・・・わからんよ。ガイドしてくれよ・・はぁ、半日悩んだわ・・・

あとNavigationコントローラつけずSegueでpushすることはできないんですが、それもわからんかった。Navigationコントローラつけないんだったら、Modale一択ね。そう言ってくれよ・・ほんと疲れるわ。で完成。


2014年3月18日火曜日

UIViewControllerとUITableViewControllerの違い

TableView生成時にself.viewに合わせてframeを生成しない/する

reloadDataでTableViewの行を変更できる/できない。UITableViewController意味あんのかよ。

tavleView.rowHeightが有効か、有効でないか。ってさ、UITableViewController終わりにしてほしいなう。

わかるまで1週間かかったよ。まったく!

(追記)=> Static cell(ストーリーボード上で見た目編集できるもの)を使うにはUITableViewController必須のようです。UITableViewControllerが使えるのは機能はこれくらいかな?

2014年1月26日日曜日

Xcodeでの最新のAdMob SDK(iOS版)の入れ方

Xcodeでの最新のAdMob SDKの入れ方。

・SDKをダウンロードする

・READMEを除き全てのファイルを組み込むとあるが、ダウンロードファイルからAdd-onsの下のGoogleAnalyticsServicesiOS_3.03フォルダを削除した上で、READMEを除いたAdd-onsフォルダを含むファイルを組み込む。

・Add-onsは不要なようだ。疲れる・・

・指定のライブラリに以外にCoreTelephony.frameworkを入れる。

・AdSupport.frameworkはRequiredからOptionalに変更する(たぶん)。

・ついでにARCを指定して、非ARCのコードにはBuild PhasesのCompile Soucesで-fno-objc-arcをつける(たぶん)

・Build Settings のLinking Other Linker Flagsに-ObjCを加える

なんだそれ。全然書いてないし。Googleグダグダ。

2013年3月9日土曜日

複数のMacでiOS開発を行う

Provisiong Profileを入れたら、Valid signing  identity not found だと。

そーいえば、Macbook PRO Retinaで開発するつもりで、Retinaで登録してたっけ(使ってねー・・・。売り飛ばそうか・・・)。

で、無効のキーをこっちにもってこなくてはいけないのでした。

めんどくせーよ。Appleさんさぁ・・・


[Xcode]新しいMacを買った時など複数台のMacでiOSアプリを開発する方法


http://www.lastday.jp/2012/09/02/multiple-mac-ios-application

Provisioning Profile期限切れからの復活

Appleさん、煩雑な作業はなしにしようよ・・・

Provisioning Profileの起源が切れたらこちら。これも手順がたまに変るからな・・・・

http://iphone.hd-28v.com/?eid=69

iOSアプリに必要なアイコン

最近iOSもいろいろなデバイスに対応する必要が出て大変です。
とりあえずアイコン情報はこちら。

http://tande.jp/lab/2012/01/1635

2013年2月14日木曜日

MacのSafariでFacebookインテグレーションが機能しない件が解決

MacのSafariでFacebookインテグレーションが突然機能しなくなり、ずっとこまっていたのですが、解決。

AppStoreを立ち上げ、購入済みのアプリケーションから、OS X Mountain Lionを選択、警告を無視してインストールを進めると・・・・

ビンゴ。治りました。

Macもたまには壊れることもあるのね。Windowsとちがい上書きインストールでも設定が特に変ることなく、簡単しごく。

ここらへんがWindowsに戻れないところなんだよな。

ま、とにかく治ってよかった。

2013年1月29日火曜日

VMWare FusionでWindowsXPからWindows8にアップデートしてみた

MacのVMWare FusionでWindowsXPからWindows8にアップデートしてみました。

これがとんでもなかったので手順を共有しますね。




1.VMWare FutionにWindowsXPを導入しSP3にする。
 これは普通に入れればいいだけです。が、SPの当たっていないXPを持っている人は大変。どこかからSP2を持ってきて、その後SP3を当てて・・と久々に時間の無駄を体験しましたよww



2.VMWare Fusiionを5にアップデートする。
 これ必要かどうかわかりません。一応Windows8対応というので入れておきました。
 Fusion4でも大丈夫かもですが、いろいろやって動かなかったのでバージョンアップしちゃいましたよ。

 Fusion4にWindowsを入れてからアップデートする人はさらに念のためにVMWareFutionの「設定」から、互換性でFution5対応にしておきます。そのままだとFusion4対応になっているので注意。

3.FusionのHDDデバイスをSCSIからIDEに変換する。
 これをしないと支払ったあとなのに、Windows8が入れられなくなるよ。てか、ほんとやめてほしい。VMWare社ってMicrosoftと仲悪いんですか?

まず、WindowsXPが立ち上がっていればシャットダウンし、仮想マシンの「設定」から「ハードディスク(SCISI)」を選択します。

するとこの画面がでるので、詳細オプションの▶をクリックします。
そこで、「ハードディスクを削除」を選択し、ダイアログが出てきたら「ファイルの保持」を選択します。コレ注意。


次にFinderで「仮想マシン」フォルダを探します。個人フォルダの書類の下に入っているようです。
 

 そして「仮想マシン」フォルダ配下にある、仮想マシン名.vmwareevmファイルを右クリックし、「パッケージの内容を表示」させます。


次に「テキストエディット」を開いて、ダイアログが出ますが無視して、先ほどのパッケージフォルダ内にある、仮想マシン名.vdmkファイルを、Doc上にあるテキストエディットのアイコンへドラック&ドロップしてテキストエディットで開きます。

そして、
  ddb.adapterType = "buslogic"とあるのを、ddb.adapterType = "ide"とします。
次に、仮想マシンの再び「設定」に行き(HDDがない)、右上の「デバイスを追加」ボタンをクリックします。
そこで「既存のハードディスク」を選択し、「追加」ボタンを押します。
ダイアログがでるため、個人フォルダの「書類」−「仮想マシン」−「仮想マシン名.vmwarevm」とたどり、「仮想マシン名.vmdk」ファイルを選択し、さらに「この仮想ディスクを作成した仮想マシンと仮想ディスクと共有する」を選択(画面やデフォルトは違うので注意)し、「開く」ボタンを押します。
これでHDDがIDEとなります。


4.WindowsXPを立ち上げ、Windows8をアップデートする。
 これでWindows8を「インストールできる」環境は整ったので、Windows8にアップデートします。でもまだまだですww。


5.ネットワークアダプタの設定を入れる。
 Windows8にアップデートするとインターネットにアクセスできません。そう、過去も現在もネットワークデバイスが認識できず苦しむのですww

 まず、VMWare Fusionを終了させます(たぶん。仮想マシン終了だけでいい気もする)。

 次に、先の「仮想フォルダ」内の、今度は「仮想マシン名.vmx」ファイルをテキストエディットで開きます。

そのファイルの一番下に、
 ethernet0.virtualDev = "e100e"
を記入します。
で、VMWare FusionをWindows8を立ちあげて終了です。Windows8でいろいろとダイアログがでますが、ほっておけばそのうち繋がるみたいです。

え、終わり?まだですよww


6.VMWareToolsを入れる。
 これで最後。Windows8が立ち上がったら、VMWare Fusionのメニューバー(MacアプリケーションとしてMacの一番上に出るメニューバー)の「仮想マシン」メニューをプルダウンし、「VMWare Toolsをインストールする」を選択し、VMWare Toolsをインストールします。

 これをしないとMacからコピペとかできないんですよ。これが。



はいお疲れ様。自己責任でどうぞww


2012年12月19日水曜日

久しぶりの開発でオーガナイザーでハマった・・・

iOS 開発久しぶりのため、完全にはまりました。

プロビジョニングプロファイルが期限切れ・・・Renew しようかと思いましたが、どうにもできない・・・

いろいろいじってみると、オーガナイザーにデバイスが表示されるまでに1分、オーガナイザーはほぼハングアップ。Organizer落とすところだったよ・・・あぶね。

しかし、またプロファイルがRenewできない・・削除したりなんなりしてもだめ・・・

よくよく見るとデバイス右にあるランプが灰色・・・ボタンを押してみると、デバイスの画面に。開発用に登録しろと・・・ボタンポチってOK・・・疲れた・・・

でiOS Team Provisioning Profileは・・かってにできてましたよ・・・ふぅ。

2012年11月12日月曜日

ディベロッパ・配布証明書の作成と登録

新しいMac となり、早速つまづくのは証明書の作成と登録です。

Macbook PRO Retinaを買ったので自宅のiMacと証明書を共有しなくてはなりません。
たしか既存のMac からもってこなくてはいけなかったするはずです。

なので、普通の手順とも異なり、普通1回やって終わりとかなので、思い出すのも大変です。手順を整理したいと思います。

1. キーチェーンアクセスを起動し証明書を取得する<初回のみ>

⑴ 右上の拡大鏡(Spotlight)から ”キーチェーンアクセス” を入力し、起動する。

(2) メニューから「キーチェーンアクセス」−「証明書アシスタン」−「認証局に認証書を要求...」を選択すると、「証明書アシスタント」が表示される。

(3)「証明書情報」に、ディベロッパ登録時の「メールアドレス」と「通称(実は名前)」を入力する。
(まだApple IDがメールアドレスでないときに登録したのにどうなの? たぶんProfileに登録しているメールアドレスなんだろうけど)

(4)要求の処理:で「ディスクに保存」「鍵ペア情報を指定」をチェックする。

(5)鍵ペア情報で「鍵サイズ 2048bit、 アルゴリズムRSA」を選択し、「続ける」を押下

(6)[CertificateSigningReqest.certSigningRequest]ファイルが生成されるのでMacに保存

(7)SafariでiOS Dev Centerにログインし、iOS Provisioning Portal(右枠内)に入る。Developer タブとDistribution タブの両方で、<Your CertificatesのRequest Certificateボタンを押し(6)のファイルをアップロードを実行、Dowonloadボタン(またはclick here to download)が表示されたらダウンロードする( developer_identity.cer, distribution_identity.cer, AppleWWDRCA.cer の3ファイル)。

(6)これら3ファイルをダブルクリックすることで自動でキーチェーンに登録する。


2.証明書の書き出し(バックアップ:初回のみだが、複数Macの運用にも使用)

(1)右上の拡大鏡(Spotlight)から ”キーチェーンアクセス” を入力し、起動する。

(2)「ログイン」「自分の証明書」にある「書き出す証明書(上記3つ)」をリストからすべて選択、右クリックし「(証明書名)を書き出す」を選択、その際フォーマットは「個人情報交換(.p12)」を選択。ファイルの名前とパスワードは任意で書き出す。

3.別マックに証明書を実装
 いよいよです。自宅のiMac、HDDが壊れると連絡があったタイプです。証明書バックアップして早く修理にださないと・・・

(1)別マックに証明書ファイル(*.P12)をコピーし、クリックすれば自動的にキーチェーンに登録されます。

本日の業務終了。ダブルクォータパウンダー+100円コーラで計590円なーり。高っww




2012年11月6日火曜日

iOS 開発再開!!

MacBook Air を失って(?)以来、なかなか開発に手をつけることができませんでしたが、ついに再会。
MacBook PRO 13inch Retinaを購入して動機を保とうという魂胆です。

はたしてうまくいくかどうか。

とはいうものの、USキーボードにしたMacbook PROの操作が板につかなかったり、Wimaxルータの充電用のmicroUSBケーブル忘れたりとか、さっそくつまづいていたりして・・

あとはXCode4になって以来、ARCだとかStoryboardだとか、いろいろな変更があるなか、追いつくのにやっとというところがあります。

もっとも、不要に学習する必要もないわけで、これからすこしづつ、毎日取り組んで追いつきますよ。

次のアプリは・・お楽しみに??

ちなみに巻き紙電卓は、最近のiOSでバイスの売り上げがいいせいか、やや上向き加減です。はやくiOSのハードウェアの進化にもおいつかないとねぇ。ユーザに見放されちゃうよ。

ということでがんばりますので応援よろしくお願いします!!


2012年8月14日火曜日

UIPopoverControllerをiPhoneで使う。

UIPopoverControllerはiPhoneでは使えません。ただしgithubで公開されているライブラリで同様な動きをするものが公開されているそうです。



詳細はこちらまで。
http://d.hatena.ne.jp/shu223/touch/20110316/1300375000

2012年8月13日月曜日

XCode 4.4からできるようになったこと。


@synthesizeを省略できます

privateメソッドの定義を省略できます

  • NSNumber
  • NSArray
  • NSDictionary
についても同様の省略形の書き方が追加されました。
具体的には、それぞれ
  • NSNumber @100 @3.14 @'a' @0xff @(YES)
  • NSArray @[val1, val2, val3]
  • NSDictionary 

以下に具体的コードの説明があります。
http://www.tokoro.me/2012/08/12/objc-new-statements/

2012年8月8日水曜日

XCode4.4アップデート内容

Objective-Cや開発環境の変化になかなかついて行けません。というかついて行くための努力ってのを怠っています。で、ステップバイステップで毎日何かをしないと、と反省。

とりあえず、AppStoreにあるアップデート内容(XCode4.4)から。でもこれまで聞いた内容と変わらなかった。とりあえず英語の勉強w

Xcode provides everything developers need to create great applications for Mac, iPhone, and iPad. Xcode 4 has been streamlined(洗練されてきている) to help you write better apps. It has unified user interface design, coding, testing, and debugging all within a single window. The Xcode IDE analyzes the details of your project to identify mistakes in both syntax and logic, it can even help fix your code for you. 

Xcode runs on OS X Mountain Lion and OS X Lion, and includes the Xcode IDE, Instruments, iOS Simulator, the latest Mac OS X and iOS SDKs, and hundreds of powerful features:

Innovative tools to help you create great apps
• Interface Builder is fully integrated as a design canvas within the Xcode IDE
• The Assistant shows files related to what you're editing, such as the header, superclass, or controller
• The Version editor shows a live source code comparison through Git or Subversion history
• Live Issues display errors as you type, and Fix-it can correct the mistakes for you
• Apple LLVM compiler is embedded within the IDE with support for Objective-C, C, and C++
• The new LLDB debugging engine is faster and more memory-efficient than GDB
• Instruments adds System Trace and new iOS instruments including OpenGL ES

Streamlined interface that is faster and easier to use
• Design your interface side by side with the backing(裏打ちされている) source code
• Create connections from your GUI design directly to the related source code
• Use tabs to organize your workspace, or double-click to open files in a new window
• Schemes let you customize exactly how your app will build, run, profile, and deploy
• Debugging and console views slide in without disturbing your place in the editor

Professional editor keeps you focused on your code
• Click the Jump Bar at the top of the editor to instantly go to another file
• View message bubbles to see errors, warnings, and other issues right beside the code
• Use the ribbon on the left of the editor to fold your code, or highlight scope

Embedded Apple LLVM technology finds and fixes bugs for you
• Analyzer travels countless(数えきれない) code paths looking for logical errors before they become bugs
• Live Issues underlines coding mistakes as you type with no need to build first
• Fix-it can confidently correct mistakes for you with just a keystroke
• Code completion for Objective-C, C, and C++ is incredibly fast and accurate

Instruments for visual performance analysis
• Compare CPU, disk, memory, and OpenGL performance as graphical tracks over time(時間とともに)
• Identify performance bottlenecks then dive deep into the code to uncover(ふたを開ける、見いだす) the cause(原因)
• Monitor your app directly, or sample the entire system, with very little overhead

To test or deploy applications on an iOS device you must be a member of Apple's iOS Developer Program.  To submit your Mac or iOS apps to the App Store you must be a member of the Mac or iOS Developer Program.  Some features may require Internet access.

• SDKs for OS X 10.8 Mountain Lion and iOS 5.1. 
• Enhanced for the MacBook Pro with Retina display. 
• Code completion persists your selections to give more accurate suggestions. 
• Objective-C @synthesize command is generated by default when using properties. 
• Objective-C adds literal syntax for numbers, arrays, dictionaries, and expressions when developing for OS X. 
• Apple LLVM compiler supports additional C++11 features, including lambdas. 
• Assistant editor tracks caller or callee for the current selection. 
• New localization workflow can share a single base .xib file for multiple locales on OS X. 
• Source control can commit individually selected changes. 
• ARC migration tool converts both retain/release and garbage collected code. 
• Fixes an issue where code completion could fail, requiring the user to delete derived data. 
• Additional bug fixes and stability improvements.

2012年8月5日日曜日

iOSアプリ開発をはかどらせるツールのまとめ

・ソーシャルアプリ作成 Parse.com
・リファレンス検索 Dash
・リポジトリ github
・クラッシュレポート Crashlytics
・AppStore分析 AppAnnie(これは使ってる)
・多言語化 Linguan
・アクセス解析 Google Analytics
・メモリリーク検査 Istruments/Leaks

こちらをどうぞ。

http://qiita.com/items/6faa03455f99ce7497a0