コードビート

プログラミングのメモ




【Swift】配列内で重複する要素を除去する

NSOrderedSet

NSOrderedSetは「重複した要素を保存しない」という特徴を持つ。

Array -> NSOrderdSet -> Array

ArrayからNSOrderdSetを生成し、それをまたArrayに戻すと、重複した要素が除去される。
各要素の順番は、元のまま保たれる。

サンプル

    let source = ["1st", "2nd", "3rd", "2nd", "5th"]

    let set = NSOrderedSet(array: source)
    let result = set.array as [String]

    println(result) // ["1st", "2nd", "3rd", "5th"]

参考

 

AdMob広告をアプリのリリース前に実装する

  

どこかのAdMob広告表示はApp Storeでのリリース前に実装できないのでiAdを実装した・・という話をどこかで見かけたが、今は事情が異なるらしい。

 

AdMobでアプリを登録する際に、「手動」を選んでアプリ名を入力すると、リリース前のアプリも登録できる。

 

これでiTune Connect審査前の開発も問題なし。

 

参考にさせて頂きました

Androidアプリちょい足し開発レシピ(5):金欠時の救世主!? AdMobのアフィリエイトでスマホアプリを収益化しよう (2/3) - @IT

 

AdMob SDK iOS 6.8.0 でコンパイルエラー

 

 

Google Mobile Ads SDKiOS版を実装しようとしていたら、下記のエラーが。

 

 

Undefined symbols for architecture i386:

  "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:

      objc-class-ref in libGoogleAdMobAds.a(GADDevice.o)

ld: symbol(s) not found for architecture i386

clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

 

 

"CoreTelephony.framework"を追加したらすんなりビルドが通った。解決。

 

 

 

参考にさせて頂きました

iPhoneアプリ開発の簡単説明 - [iPhone] admob sdk の実装