アップデート
引き継ぐ必要のある項目を確認する
SDKをダウンロードしてプロジェクトに上書きする際に既存の設定内容を予め一時ファイルに退避させておく必要があります。
ダウンロード後に編集されている可能性が高いファイルは以下の通りです。
- PopinfoConfiguration.m
- SdkSettings.plist
- Settings.bundle/Root.plist
- PopinfoViewConfiguration.m
- PopinfoListViewController.m
- PopinfoDetailViewController.m
上書き後に引き継ぐ必要のある項目について一時ファイルからコピーしてください。
参照パスを確認する
旧SDKとは別の場所に新SDKを組み込む場合には参照パスを更新する必要があります。
プロジェクトの TARGETS > Build Settings にある、Search Paths > Library Search Paths を更新してください。
CoreDataバージョンを確認する
現在の最新バージョンは 4.2 です。
CoreDataモデルバージョンは常に最新バージョンを指定してください。
バージョンが適切に設定されていない場合、アプリが異常終了することがあります。
バージョンの確認方法
Xcode 上で PopinfoReceiver.xcdatamodeld をクリックすると、画面右側「Core Data Model > Model Version」の「Current」にバージョンが表示されます(下図参照)。

SDK更新後のアプリの動作を確認する
SDKの更新を行った際は旧アプリからのバージョンアップを想定したテストを行うなど、必要な動作確認をお願いします。
後方互換性のないアップデートについて
特定のSDKバージョンは、後方互換性のないアップデートを含むため、アップデート時にAppのソースコード修正が必要となる場合があります。
バージョン 6.2.0 へのアップデートについて
-
「アプリ内メッセージ表示直前の校閲」のためのデリゲートが削除されました。
以下のデリゲートは削除されています- (NSString *__nonnull)popinfoEventActionReceiver:(PopinfoEventActionReceiver *__nonnull)popinfoEventActionReceiver copyeditInAppMsgHtmlString:(NSString *__nonnull)htmlString withEvent:(NSString *__nonnull)event categories:(NSArray *__nonnull)categories;同等の機能を実装する場合は、メッセージの表示可否を判定するデリゲートにてアプリ内メッセージオブジェクトを取得して、これを書き換えた上で再表示します。
func popinfoEventActionReceiver(_ popinfoEventActionReceiver: PopinfoEventActionReceiver, shouldDisplay inAppMessage: PopinfoInAppMessage, event: String, category: String) -> Bool { // 表示しようとしているアプリ内メッセージの情報を任意の方法で保存します save(inAppMessage) return true }// 保存したアプリ内メッセージを表示します PopinfoInAppMessageViewController().displayPopinfo(inAppMessage) -
「組み込み側でメッセージの表示可否を判定する」ためのデリゲートは名称が変更されました。
お手数ですが、下記を参考に変更してください。// 変更前(バージョン6.1.0 以前) - (BOOL)popinfoEventActionReceiver:(PopinfoEventActionReceiver *__nonnull)popinfoEventActionReceiver shouldFireActionByEvent:(NSString *__nonnull)event withCategories:(NSArray *__nonnull)categories; // 変更後(バージョン6.2.0 以降) - (BOOL)popinfoEventActionReceiver:(PopinfoEventActionReceiver *__nonnull)popinfoEventActionReceiver shouldDisplayInAppMessage:(PopinfoInAppMessage *__nonnull)inAppMessage event:(NSString *__nonnull)event category:(NSString *__nonnull)category;// 変更前(バージョン6.1.0 以前) func popinfoEventActionReceiver(_ popinfoEventActionReceiver: PopinfoEventActionReceiver, shouldFireActionByEvent event: String, withCategories categories: [String]) -> Bool { ... } // 変更後(バージョン6.2.0 以降) func popinfoEventActionReceiver(_ popinfoEventActionReceiver: PopinfoEventActionReceiver, shouldDisplay inAppMessage: PopinfoInAppMessage, event: String, category: String) -> Bool { ... }