Самое быстрое решение состоит в том, чтобы иметь две задачи, и они запускаются с противоположными условиями. К сожалению, все элементы в списке должны будут использовать одну и ту же форму (вы не можете смешивать и сопоставлять строки и dicts).
- name: create dirs (strings)
file:
...
with_items: items
when: string(items[0])
- name: create dirs (dicts)
file:
...
with_items: items
when: not string(items[0])
См. раздел Восстановление транзакций руководства In-App Purchase. Вот что конкретно сказано:
Store Kit предоставляет встроенные функции для восстановления транзакций для непотребимых продуктов, подписки на автоматическое возобновление и бесплатные подписки. Чтобы восстановить транзакции, ваше приложение вызывает метод restoreCompletedTransactions платежной очереди. Очередь платежа отправляет запрос в App Store для восстановления переходов. В свою очередь, App Store генерирует новую транзакцию восстановления для каждой транзакции, которая была ранее завершена.
blockquote>
вы можете вызвать
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
, он вернет вам уже выполненные транзакции.
Затем вы можете проверить, находится ли ваш продукт в наборе.