お?いけるくさい?

iPhoneアプリエンジニアのたまごです。いっちょまえエンジニア目指してちいさな発見や学んだことを覚え書きしていきます!Objective-C/iOS/開発

原文(NSString)から改行とスペースを除いてラベル表示

▼やりたいこと 【改行と空文字が入っている文字列から 改行とスペースを除き、2行分まで表示して残りを省略】 ▼つまりこういうこと [原文] /////////////////////////////////////////////////////////////////////////// はじめまして。 プロフィールを読…

Production(Distribution)の証明書が期限切れになったときの更新

DistributionのProvisioning ProgileがExpiredになってしまった... なんで?といろいろ画面をさまよってみたところ、 どうやらCertificates > Productionの欄にDistribution用の証明書がない。 これか。 でも、リリース後・運用中のアプリいくつかあるし、 …

Adhoc版でプッシュ通知が届かない問題を解決!!

まーたやってもうた。 毎回、テスト配布でAdhoc版のProvisioningを設定して Releaseモードでアーカイブすると、 そのときに取得したAPNSのtokenと ストアのリリース版からのAPNStokenがサーバー側で混在してしまって プッシュが届かないという現象が。。。 …

PROJECTのDeployment Target設定はTARGETSだけで大丈夫なのか?

Xcodeで対象OSを設定したいときに、 Depoyment Targetを変更するところが2箇所ありますね。 (PROJECT と TARGETS) TARGETS > SUMMARYのほうはアプリのバージョンとかBundle Iddentifierとか もろもろ設定できますよね。 なので私はこっちのDeploymentment …

iPhone5/iOS6になってのTips

■viewDidunLoadは呼ばれない これけっこう気をつけること。 NotificationとかObserverとか、 removeしてあげないといつまでも通知してくれる健気な彼ら。 プログラムに旋風を巻き起こすことになります。 結果、 「なんでこのメソッド2回も呼ばれるんだ..!」…

iOSbeta版からのアクティベーション(復活)

iPhoneアプリを開発していると、Appleから「最新OSのbeta版が出たよ!」 ってお知らせが来て、Apple DevelopperからiOSのbeta版をインストールして 開発することがあるかと思います。 beta版のインストールについては各所でやり方がのっていると思うのですが…

指定したUIColorとCGRectで、塗りつぶしのUIImageを生成する

四角いカスタムボタンを透明で色指定して作ったときに 押したときにわかるようにしたい!と思い、 でもたしかカスタムボタンって 選択状態のときUIImage設定せんといけんかったっけ... と思ったのですが、 デザイナーさんにわざわざぺた塗りの画像を切り出し…

タップ認識

1、「閉じる」ボタンを置いたUIViewがあります。 2、このViewを「表示」ボタンを置いたViewControllerがあります。 3、UIViewをViewControllerにaddして、setHidden:YESにしておきます。 4、「表示」ボタンを押すとViewをsetHidden:NOにします。 5、表…

いろんな学び①〜数字まわり編!〜

最近いろいろなことを知ることがあったので まとめれるうちにまとめとかないと忘れちゃいそうなのでメモ! ------------------------------------------------------------------------------------- ◎NSNumber型のメリット 今回CoreDataを使ったプログラム…

再びiTunesSearchAPIで、AppStoreからアプリのscreenshotを取得する!!

前回のアプリではiTunesから楽曲情報を取得してたのですが、 このAPIのベースは先輩が作ってくれたものだったので、 データを取りに行く肝心な部分はノータッチでした。\( ^ヮ゜)> で、今回のアプリでも AppStoreからアプリの情報を取りに行って、 スクリ…

カスタムボタンの落とし穴

最近ちょっとずつカスタムクラスの作成に慣れてきましたヽ(´ω)ノ はじめは、カスタムクラスって何..こわい..(gkbr) って思ってたけど、 要は「拡張機能(オリジナル機能)をつけたいなあヽ(´ω)ノ」 ってだけなんで、 そんなにわちゃわちゃいちから自分で作成…

NSLogを簡単に消しましょ!(マクロ定義)

.pch ファイルに以下のマクロを定義します。 #if DEBUG #if !defined(NSLog) #define NSLog( m, args... ) NSLog( m, ##args ) #endif #else #if !defined(NSLog) #define NSLog( m, args... ) #endif #endif ログを出したくないときは Build Settings > PRO…

libxml2をXcodeに組み込むとき

BuildPhase から libxml2.dylibを追加したにも関わらず、エラーが消えない! というときは BuileSetting > Search Path > Header Search Pathに ${SDKROOT}/usr/include/libxml2 を書かないとエラーが消えませんのでご注意。

NavigationBarの戻るボタン

●ボタン自体表示させたくないとき(表示させたくないViewController内で) [self.navigationItem setHidesBackButton:YES]; ●ボタンの 中の文字を変更させたいとき(変更したい1こ前のViewontroller内で) UIBarButtonItem *backItem = [[UIBarButtonItemal…

navigationController実装

*AppDelegateでの追加 http://firstiphoneapp.blogspot.jp/2012/02/navigationcontroller.html *タイトルの設定 http://ndevmemo.blog.shinobi.jp/Entry/62/

Build時のlogの出し方

Debug Console(ログを出すとこ)を使ってログを出すときに、 LLDBとかいうログの出し方と GDBっていうログの出し方とあるらしく、 GDBだとより細かくログを見れる?ぽいです。 変更するにはXcode上部メニューから Product>Edit Scheme>Debugger で変更で…

ビルドエラー

「Choose a destination with a supported architecture in order to run on this device.」 って警告が出たら、 projectのbuild Setting の armv6を外さないとだめ。 Xcode4.5〜はarmv7からしか対応していないらしい。 以上っヽ(´ω)ノ

iOSのbeta版のインストール方法

※注意事項---------------------- OSはアップデートすると元に戻せなくなるので、 開発用で事前に入れておきたいもやApp Storeにあがってないものは 入れてからアップデートするように! ---------------------------------- ①まずはapple Developerにログイ…

プッシュ通知

プッシュではまった。 といっても端末側の実装にミスは無かったんやけど。 [[UIApplicationsharedApplication] setApplicationIconBadgeNumber:-1]; [[UIApplicationsharedApplication] cancelAllLocalNotifications]; という処理を書いているのに消しても消…

メモ

カスタムクラスで機能拡張をさせたときは、プロパティで外から値をさわるのではなく、そのクラス内に値を変えるメソッドをもたせるほうが良い 例えば画像を変えたいとかそういうメソッドやったら、引数に(BOOL):YES/NOとかをもたせてメソッドないでif文で分…

文字列の取り出し

iTunes Search APIを使うと artistIDとかCollectionIDとか簡単に取り出せるんやけど、 iTunesRSSのほうからやと ダイレクトにそれらを取り出すことはできません。 楽曲名と歌手名はダイレクトに取り出せるんやけどね。 IDプリーズ! てことで、URLの中から若…

webViewのキャッシュは強力らしい

iOSのwebViewのキャッシュが強力らしく、 開発中にwebのコンテンツをいくらデザイン変更しても 反映されない!というときに このメソッドをひとつ仕込んであげると キャッシュが消えるそうな。 読み込み開始前によばれるデリゲートメソッド内に書いたら 無事…

iOS5とiOS6の違い〜Twitter Accoutの挙動で注意すべき点!〜

iOS6になって新機能が追加されて、 設定画面からの制御事項みたいなものがより高度になっているようです。 かしこいのか不便なんだかってとこみたいです。 場合によっては実装を書き分けたほうがベター! ということでご紹介。 TwitterFrameworkとAccountFra…

UIAlertViewのワンポイント

アラートを出したいときに、 OKボタンとcancelボタンを設置したいだとか、 OKボタンだけだけどその後に何かアクションをさせたい というとき以外(つまりただ警告だして閉じたいだけ)のときは、 delegate:nil というふうにnilを指定してあげたほうが良い◎ …

メーラー エンコード 文字化け

Webviewからmailto:っていうスキームをひろって メーラーを起動して本文を入れておきたい! というときに、 日本語の場合は必ずencodeをかけないといけなくて、 たとえば <case 1> ------------------------------------------------ ●宛先:xxx@mail.com …

メモリ管理

よくわかってないけどとりあえず はじめにViewDidLoadでMutableArrayをallocすると、 (@propertyもつくって落ちにくくする) 今回特にaddObjectは明示的にしてなくて、 よそからひっぱってきてそのまま値を入れて使っている場合、 途中で中身を入れ替えたいと…

文字のアニメーション

Blocksで簡単にアニメーションが出来るのはやったことあったけど、 UIViewだけかと思っていたら どうやらUILabelでも出来るとの噂! ちょっとトライしてみる!(どきどき) http://sarudeki.jp/dconcent/code_memo/animate/

xcode 4.5 xib 〜scrollViewとWebView〜

xib

scrollViewの使い方むずい。 いつも無駄にイライラするからメモっとっく。 ◆scrollView xib側の設定で高さ調節。 中のコンテンツサイズも指定してboundsの跳ね返り調節。 セットする。 self.view.backgroundColor = [UIColorcolorWithPatternImage:[UIImagei…

ランダムに文字列を表示する

数字をランダムに表示する方法は前に書きましたが、 今回は文字列をランダムに表示する方法! NSArray *strArray = [NSArray arrayWithObjects:@"おは",@"よう",@"ござ",@"いま",@"す", nil]; int number = arc4random() % [strArray count]; NSString* str …

viewWillAppearに注意

「viewDidLoadでapiを投げて、そのapiの成功と同時に次のapiを呼ぶ」 という処理にしているはずなのに、 その前に別のapiが呼ばれているという報告を受けて そんなはずはなーーい!(ω・`))キョロ(( ´・ω)なぜ? と原因を探ったところ、 なんと、viewWillAppearだ…