Я хочу использовать в своем приложении несколько идентификаторов com.apple.developer.icloud-container-identifier. Один для нормальной синхронизации данных и один для совместного использования разблокировки нескольких приложений (поэтому приобретайте один раз и разблокируйте несколько приложений). Настройка на портале для разработчиков завершена, и я добавил в первое приложение оба соответствующих контейнера: один для обычной синхронизации данных и тот, который должен использоваться несколькими приложениями для обмена информацией о покупке. Но я не могу найти способ определить, какой контейнер использовать. Как я могу выбрать правильный код?
До сих пор я пытался найти полезную информацию в коде при отладке и поиске объектов. Но пока без удачи. Кроме того, документация и Google не так полезны прямо сейчас.
Это мой текущий код облачной синхронизации (Xamarin / C #):
public class CloudSyncService : ICloudSyncService
{
public bool SupportCloudSync => true;
public event CloudDataChanged DataChanged;
public CloudSyncService()
{
NSNotificationCenter.DefaultCenter.AddObserver(NSUbiquitousKeyValueStore.DidChangeExternallyNotification, notification =>
{
System.Diagnostics.Debug.WriteLine("Cloud notification received.");
NSDictionary userInfo = notification.UserInfo;
var reasonNumber = (NSNumber)userInfo.ObjectForKey(NSUbiquitousKeyValueStore.ChangeReasonKey);
nint reason = reasonNumber.NIntValue;
var changedKeys = (NSArray)userInfo.ObjectForKey(NSUbiquitousKeyValueStore.ChangedKeysKey);
for (uint i = 0; i < changedKeys.Count; i++)
{
var key = changedKeys.GetItem<NSString>(i);
DataChanged?.Invoke(this, key);
}
});
}
public void StoreString(string key, string value)
{
var store = NSUbiquitousKeyValueStore.DefaultStore;
store.SetString(key, value);
store.Synchronize();
}
public string ReceiveString(string key)
{
var store = NSUbiquitousKeyValueStore.DefaultStore;
return store.GetString(key);
}
public void Delete(string key)
{
var store = NSUbiquitousKeyValueStore.DefaultStore;
store.Remove(key);
store.Synchronize();
}
}
Если у кого-нибудь есть примеры или идея, где искать конкретный идентификатор контейнера, это было бы здорово. Неважно, если это в Swift / C # / Objective-C или что-то еще. Любой намек полезен, я думаю.