自作iPhoneアプリ一覧(無料)
住所検索
MySpotNavi
SignPhotoR
HairManager
WebIDMemo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

adMob SDKの罠

2013年05月ごろからAppleの規約が変わり、
UDIDを使用したアプリは申請が不可となった。

アプリに広告などを載せている場合に、
広告のSDKがUDIDを使っていたら、これも申請が通らない。
この辺りは、ほぼ皆さん知っている事と思う。

UDIDを使っていた広告業者として代表的なのがadMob。
このSDKを最新版に置き換えた時に
一筋縄ではいかなかったので、メモしておく。


よくある技術サイトなんかでは
最新のSDKを入れて、
4つのFramework
(AudioToolbox,MessageUI,SystemConfiguration,CoreGraphics)を入れれば
ビルドできますよー
なんて書いてあるが、
私の場合はうまくいかなかった。
Apple Mach-O Linker Error が出たのだ。


そこで更に調べたところ、
下記の2つのFrameworkを入れればビルドが通った。


・AdSupport
・StoreKit


この2つのFrameworkが何をしているのかまでは分からないし、
私の場合、xcode3.xで作った物をバージョンアップしている状態なので
基本部分が皆さんと違っているかもしれない。


ただ、、同様な事で悩んでいる人がいれば
この方法を試してみてください。
スポンサーサイト

iOS Dev Center 年間更新

iPhoneアプリを作るために必要な年間契約。
初回登録後、約1年経ったため、
再更新の手続きが必要になった。

更新のやり方などはググって調べたら分かる事なのだが、
そーいう所では書いてない事につまずいたので、メモ的に記述しておく。

たった一つだけ・・・。


ブラウザはIEを使うな!

IEを使うと途中で必ずつまずく。
調べてもなかなか分からず、
サポートセンターに電話して初めて知った。。。

さすがAppleということか・・・

[objective-c技術情報メモ]VBのSplitに相当する文字列操作関数

前回に引き続き、私が作った関数を公開します。
今回はVB 6.0のSplitに相当する関数です。

VB 6.0が分からない方のためにSplit関数を簡単に説明しますと
ある文字列を、特定の文字列で区切り、配列にしたデータを返してくれる関数です。
では早速自作関数を紹介。

// **************************************************
+ (NSArray *)vbSplit:(NSString *)target delimiter:(NSString *)delimiter {
return [target componentsSeparatedByString:delimiter];
}
// **************************************************

これだけですw
使い方はこんな感じ。
 NSString *string = @"123,456,789";
 NSArray *array = [self vbSplit:string delimiter:@","];

こうすると"123"と"456"と"789"の要素を含む配列を取得する事ができます。


使用用途は主に検索機能です。
キーワードでの検索機能で、Webブラウザのように
スペース区切りで沢山の項目を条件に検索させたい場合に
ユーザが入力したデータを項目ごとに分割する時に使っています。

前回紹介したvbReplaceと合わせて使えば、
項目ごとの区切りスペースが半角だろうが全角だろうが
気にせず分割する事ができます。


よかったら押してあげてください
にほんブログ村 IT技術ブログ iPhoneアプリ開発へ
にほんブログ村


無料ですので、よかったらダウンロードしてあげてください

[objective-c技術情報メモ]VBのReplaceに相当する文字列操作関数

昨夜に引き続き、私が作った関数を公開しようと思う。

ちなみに私自身、VBやASP(VBScript)がメインのプログラマだったため、
VBの関数が非常に使い勝手がいいと思っている。
そんなプログラマが作ったVB 6.0のReplaceに相当する自作関数です。

// **************************************************
+ (NSString *)vbReplace:(NSString *)target find:(NSString *)find replace:(NSString *)replace {
 if ([target length] == 0) {
  return @"";
 } else {
  NSMutableString *string = [NSMutableString stringWithString:target];
  NSRange replaceRange = NSMakeRange(0, [string length]);

  [string replaceOccurrencesOfString:find
    withString:replace
     options:NSCaseInsensitiveSearch
     range:replaceRange];

  NSString *returnValue = [string retain];
  return returnValue;
 }
}
// **************************************************


・target : 対象文字列
・find : 抽出する文字数
・replace : 置換する文字数
を指定してあげてください。

NSString *string = [self vbReplace:@"あいうえお" find:@"う" replace:@"か"];
とした場合、"あいかえお"が返ってきます。
これで置換が楽にできるので、
スペース(全角/半角)を統一したりする場合に重宝すると思います。


よかったら押してあげてください
にほんブログ村 IT技術ブログ iPhoneアプリ開発へ
にほんブログ村


無料ですので、よかったらダウンロードしてあげてください

[objective-c技術情報メモ]画像ファイルパスを簡単に生成

今まで作ってきたアプリで、共通的に使っている技術がある。
言わば私なりの共通関数的な物である。

この記事を見る方々、
今後、アプリを作っていく方々が少しでも楽になるよう、
まとまり次第少しずつでも公開していこうと思う。

今日は画像のファイルパスについてである。
iPhoneアプリを作成していると画像の読み込みはよく使う技術である。

画像を読み込むには下記の2つの方法がある
(1)UIImage* image = [UIImage imageNamed:@"画像ファイル名"];
(2)UIImage* image = [UIImage imageWithContentsOfFile:@画像ファイルのファイルパス];

(1)はファイル名だけ指定すればいいので簡単である。
この方法は読み込んだファイルを自動的にキャッシュする。
良い解釈をすればメモリの制御に気を配らなくていいのだが、
何かのタイミングで自動で解放されてしまう事があるので、
画像を表示しようとした際に、既に解放されてしまっており、
エラーが発生する可能性もある。

(2)は画像のファイルパスを指定する方法である。
この方法は(1)と違い、読み込んだファイルを自動的にキャッシュしない。
そのため、メモリの配慮が必要なのだが、
勝手に自動的に解放されたりしないので、その点心配はない。


私が画像を読み込む場合は、(2)を使っている。
ただし、(2)の気をつけておきたい点は、
指定するのは画像ファイル名ではなく画像ファイルパスである。
このファイルパスを取得するのが面倒なのだ。

通常ファイルパスを取得する場合、下記コードで取得できる。
 [NSBundle mainBundle] pathForResource:@ファイル名(拡張子なし) ofType:@ファイルの拡張子]

このファイル名と拡張子、わざわざ分けるのが面倒(ファイル名だけ指定したい)ため、
下記のような関数を作ってみた。


// **************************************************
/*
* ファイルパスの取得
*/
+ (NSString *)getFilePath:(NSString *)fileName {
NSMutableString *returnValue = [NSMutableString string];

[returnValue setString:[[NSBundle mainBundle]
pathForResource:[self getFileNameWithoutExtension:fileName] ofType:[fileName pathExtension]]];

return returnValue;
}

/*
* ファイル名の取得(拡張子抜き)
*/
+ (NSString *)getFileNameWithoutExtension:(NSString *)fileName {
NSMutableString *returnValue = [NSMutableString string];

NSString *extension = [fileName pathExtension]; // 拡張子取り出し
NSRange range = NSMakeRange(0, ([fileName length] - [extension length] -1)); // 範囲指定(1文字目から、拡張子と"."の1文字分を除く文字数)
[returnValue setString:[fileName substringWithRange:range]];

return returnValue;
}
// **************************************************


使い方は下記のような感じである
 UIImage *image = [UIImage imageWithContentsOfFile:[self getFilePath:@"ファイル名(拡張子付き)"]];

これでファイルの読み込みが楽になれる。


よかったら押してあげてください
にほんブログ村 IT技術ブログ iPhoneアプリ開発へ
にほんブログ村


無料ですので、よかったらダウンロードしてあげてください
プロフィール

きまぐれユリアン

Author:きまぐれユリアン


こんにちは。ユリアンです。
10年程ソフトウェア開発会社に勤め、プログラマやSEと言われるような事、その他、簡単な経理など色々な事をやっていました。
2011年12月末に退職。今はフリーでやっています。


ここではそんな仕事ネタは置いといて、日々の出来事や時事ネタ、それらに対して自分が思う事を思うがままに書いていく予定です。

どうぞよろしくお願いします。

最新記事
カテゴリ
月別アーカイブ
最新コメント
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。