2015-02-19 2 views
0

В приложении iOS я пытаюсь использовать Parse.com в новом (для меня) способе. Я хочу хранить данные, которые будут доступны пользователю после покупки inApp.Хранение данных в Parse для покупки inApp


я добрался до места, я могу поместить пустой файл на сервере и получить его в мое приложение, когда покупка делается. Но вот мои вопросы: Какой файл я должен загрузить на Parse.com? В результате проб и ошибок я заметил, что простой текстовый файл (.txt) не работал, с другой стороны .png или .zip - это рабочие расширения. Содержание кажется несущественным. Я также прочитал, что это должен быть один файл. Поэтому, если я хочу, чтобы мой пользователь получил текст, звук и картинку, я, очевидно, должен упаковать его в один файл и распаковать его после загрузки. Должен ли я помещать ZIP-файл или какой-либо другой сжатый формат? И тогда, как я разблокировать это после загрузки? Например, сказать, что я хочу, чтобы пользователь, чтобы получить:


  • 3 текстовых файлов: a.txt, b.txt, C.xml

  • 2 звуковые файлы: S1.mp3, S2 .mp3

  • 3 графических файлов: Gr1.png, Gr2.png, Gr3.jpeg

Как я пошел бы? Некоторый пример кода или указателя будет приветствоваться. Спасибо за любую помощь.

ответ

1

Согласно документам вы можете сохранить любые двоичные данные, если файл не превышает 10 МБ.

«Наиболее распространенным вариантом использования является хранение изображений, но вы также можете использовать его для документов, видео, музыки и любых других двоичных данных (до 10 мегабайт)».

Ниже приведен пример загрузки трех текстовых файлов. Для простоты у меня есть класс TestClass с столбцами типа File с именем File1, File2 и File3.

Для каждого файла мы будем использовать метод saveInBackgroundWithBlock, поэтому мы знаем, когда наш файл был успешно сохранен, и мы можем связать его с соответствующим столбцом TestClass.

PFObject *testClass = [PFObject objectWithClassName:@"TestClass"]; 

NSData *data = [@"This is the first text file!" dataUsingEncoding:NSUTF8StringEncoding]; 
PFFile *file = [PFFile fileWithName:@"file1.txt" data:data]; 

[file saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
    if (succeeded) { 
     testClass[@"File1"] = file; 
     [testClass saveInBackground];   
    } 
}]; 

data = [@"This is the second text file!" dataUsingEncoding:NSUTF8StringEncoding]; 
file = [PFFile fileWithName:@"file2.txt" data:data]; 

[file saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
    if (succeeded) { 
     testClass[@"File2"] = file; 
     [testClass saveInBackground];   
    } 
}]; 

data = [@"This is the third text file!" dataUsingEncoding:NSUTF8StringEncoding]; 
file = [PFFile fileWithName:@"file3.txt" data:data]; 

[file saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
    if (succeeded) { 
     testClass[@"File3"] = file; 
     [testClass saveInBackground];   
    } 
}]; 
+0

Спасибо за это. Если я правильно следую вашим примерам и объяснениям, вы загружаете 3 текстовых файла. Это часть того, что мне нужно сделать, но это не будет делать полностью, поскольку в случае покупки в приложении я думаю, что мне нужен уникальный файл. Я, конечно же, могу найти способы обойти и уже попробовать, но я хотел бы знать, есть ли лучший способ сделать это. Упаковывать все части с помощью zip или? – Michel

+0

Добро пожаловать. Я не очень хорошо знаком с покупками In-App. Для чего нужен уникальный файл? –

+0

Для упаковки текста и звука. – Michel

Смежные вопросы