
【重要】Growth PushのiOS 8(Xcode 6)対応版SDKの公開
追記(2014/09/22): iOS SDK v.1.2.0のiOS 5での不具合を修正しました。
iOS 8向けのGrowth PushのSDKを公開しました。
変更の内容
iOS 8で非推奨となったメソッドを、新しいメソッドに置換し、Xcode 6向けに新たにframeworkファイルをビルドしなおしました。
ご利用の皆様の対応について
Xcode 6でiOS8向けにアプリをビルドする場合に、最新のSDKへの入れ替えが必要です。
これまでのSDKでは、Xcode 6でiOS8向けにアプリをビルドする際に、プッシュ通知のデバイストークンが取得できなくなります。しかし、Xcode 5でビルドした旧SDK入りのアプリが、iOS端末のiOS 8へのアップデートにより使えなくなるということはないと確認しております。
新しいSDKのダウンロードの方法
ダウンロードページからダウンロードしてください。
(9/22現時点での最新バージョンは、v.1.2.1となります。→ https://github.com/SIROK/growthpush-ios/archive/1.2.1-rc1.zip )
GitHubのリポジトリでも公開しています。
SDKとXcode、iOSの対応表
iOS SDK v.1.2.0とv.1.1.4のXcode、iOSの対応バージョンは下記となっています。
SDK | Xcode バージョン | iOSバージョン | 利用可能か |
旧SDK(1.1.4) | Xcode 5 | iOS 7 | OK |
iOS 8 | OK | ||
Xcode 6 | iOS 7 | OK | |
iOS 8 | NG | ||
新SDK(1.2.0) | Xcode 5 | iOS 7 | NG(ビルド不可) |
iOS 8 | NG(ビルド不可) | ||
Xcode 6 | iOS 7 | OK | |
iOS 8 | OK |
以前のSDKは、最新のXcode 6でビルドすることはできますが、端末で正常に動作せず、旧バージョンのXcode 5でビルドすればiOS8でも今まで通りご利用いただけます。
新しいSDKは、最新のXcode 6で正常に動作しますが、旧バージョンのXcode 5ではビルドできずご利用いただくことができません。
検証コード
次のような導入コードで検証しています。
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [EasyGrowthPush setApplicationId:1070 secret:@"BhcrsJHoEvWT85437EnSJ1COUhflEg1E" environment:kGrowthPushEnvironment debug:YES]; [_window makeKeyAndVisible]; return YES; } |
新SDKとXcode 5の組み合わせはビルド不可
新しいSDKは、内部にiOS8のための新しいシンボルを含んでいるため、Xcode5ではビルドすることができません。
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_UIUserNotificationSettings", referenced from: objc-class-ref in GrowthPush(GrowthPush.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) |
そのため、Xcode 5を継続して利用する場合は、SDKのv.1.1.4を利用していただく形になります。
旧SDKとXcode 6とiOS 8の組み合わせはデバイストークンの取得不可
iOS 8向けにビルドすると、今までのregisterForRemoteNotificationTypes:が正常に動作しなくなります。
registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later. |
したがって、Xcode 6を利用する場合は、SDKのv.1.2.0以降を利用していただく必要があります。
Unity、Cocos2d-xをご利用の皆様
Unity SDK、Cocos2d-x SDKは現在アップデートをされておりませんが、Xcode 6環境を利用する場合は、プロジェクト内のGrowthPush.frameworkを最新のv.1.2.0に差し替えていただくことで、iOS 8への対応ができます。
追記(2015/05/25): Unity/Cocos2d-xについても最新のバージョンで、iOS 8への対応をしております。ダウンロードのページから最新のSDKをご確認ください。
まとめ
お使いの開発環境がXcode5の場合は、旧バージョンのSDKを引き続きご利用いただくことができます。
お使いの開発環境がXcode6の場合は、新バージョンのSDKのご利用が必要です。
More from my site
- 前の記事(Previous)
iOSにおけるパスワード付きのp12ファイルのアップロードに対応致しました
- 次の記事(Next)
Growth Pushのサンプルアプリについて