Mobile Services iOS SDK のベータ版をリリース
このポストは、10 月 7 日に投稿された Mobile Services Beta iOS SDK Released の翻訳です。
マイクロソフトはこのたび、iOS 用オフライン SDK のベータ版をリリースしました。このバージョンでは新たに、.NET バックエンド モバイル サービスの利用時に Table ストレージにアクセスできるようになりました。
この機能をサポートするために、今回のオフライン SDK では、小規模ながらも重大な変更が行われました。この SDK は最終的にはメインの 2.0 SDK になる予定です。その際、お客様のクライアントのコードのアップグレードが必要となる可能性がありますのでご注意ください。
この重大な変更は、MSReadQueryBlock の型定義に適用されています。
従来の定義
typedef void (^MSReadQueryBlock)(NSArray *items,
NSInteger totalCount,
NSError *error);
新しい定義
typedef void (^MSReadQueryBlock)(MSQueryResult *result,
NSError *error);
この型定義では新しいクラスの MSQueryResult を使用しています。これにはアイテムの合計数や継続リンクなど、結果とそのプロパティが含まれます (これは Table ストレージで使用されます)。
このため、readWithCompletion などでこのメソッドを呼び出す場合は、下記のような変更が必要になります。
従来の署名
[query readWithCompletion:^(NSArray *results, NSInteger totalCount, NSError *error) {...}]
新しい署名
[query readWithCompletion:^(MSQueryResult *result, NSError *error) {...}]
このデータは、MSQueryResult で items プロパティを使用すると取得できます。
[query readWithCompletion:^(MSQueryResult *result, NSError *error) {
items = [result.items mutableCopy];
}];
また、これらの変更に併せてオフライン同期のチュートリアルとサンプルも更新しました。
さらに先日、iOS でのオフライン同期のチュートリアル (英語) とそれに付随するサンプル (英語) を公開しました。GitHub で Mobile Services のサンプル レジストリ (英語) をご確認ください (Windows 用 (英語)、Xamarin 用 (英語)、Android 用 (英語) のオフライン同期のサンプル)。