Я слышал, что у iOS есть поддержка блокировщиков контента, и что вся блокировка выполняется с помощью файла blockerList.json
, который находится в приложении Bundle. Хотя я знаю, что SFContentBlockerManager.reloadContentBlockerWithIdentifier()
перезагрузит данные в blockerList.json
. Однако я не вижу в этом никакого смысла; blockerList.json
является частью основного пакета и не может быть изменен. Таким образом, существует ли способ, которым может быть изменен blockerList.json
(или расширение может указывать на другой файл, удаляться и воссоздаваться, а не использовать JSON и т. Д.)?Перезагрузка блокировщиков контента в iOS
ответ
Вам не обязательно использовать blockerList.json
из комплекта в качестве источника JSON. Есть несколько разных вещей, которые вы можете сделать для динамического изменения блока содержимого.
- Вы можете иметь расширение загрузить новый файл в формате JSON с сервера и обновлять блокатор при запуске приложения
- Put расширения приложения и содержания блокатора в том же приложении группы, так что данные могут быть переданы между два, а затем выполните одно из следующих действий:
- есть приложение создать/изменить файл JSON в общей папке группы, которая будет читаться расширением
- есть данные приложения записи на совместно используемом по умолчанию группы пользователей и затем добавьте расширение для создания файла JSON для загрузки
Да я сделал это, прочитав все правила блокировки от mainbundle файла JSON и создал файл JSon (т.е.. SharedJsonFile.json) в контейнере идентификатора группы приложений. Затем я написал все правила SharedJsonFile.json.
[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier: YOUR_APP_GROUP_IDENTIFIER] URLByAppendingPathComponent: @ "SharedJsonFile.json"]
Поэтому, когда я хочу, чтобы внести изменения, и я обновить SharedJsonFile.json, а затем перезагрузить contentblocker. Чтобы прочитать JSON я использовал этот URL-путь в методе beginRequestWithExtensionContext внутреннего абонента -
NSURL * jsonPath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier: YOUR_APP_GROUP_IDENTIFIER] URLByAppendingPathComponent: @ "SharedJsonFile.json"];
- 1. Быстро: перезагрузка списка блокировщиков контента в iOS 9
- 2. IOS: перезагрузка одноклеточ- UICollectionView
- 3. Перезагрузка выбора FBFriendsPicker ios
- 4. Перезагрузка ячеек UITableView в iOS
- 5. Перезагрузка главной темы в IOS
- 6. Перезагрузка UITableview на iOS
- 7. Перезагрузка iOS View Controller
- 8. Показать альтернативные для блокировщиков объявлений
- 9. Перезагрузка вида без таблицы (iOS)
- 10. iOS: перезагрузка стола не работает
- 11. iOS Перезагрузка двух разделов tableView
- 12. Аварийная перезагрузка ReloadSections: iOS 9
- 13. Перезагрузка источника данных в Xamarin iOS
- 14. SQL-запрос для списка блокировщиков заголовков
- 15. Перезагрузка скриптов после получения нового контента (бесконечный прокрутка wordpress + fancybox)
- 16. Попытка собрать фрагменты - JavaScript, HTML, PHP и перезагрузка контента
- 17. Перезагрузка GPS после перезагрузки устройства на ios
- 18. iOS - перезагрузка таблицыViewData не вызывает cellForRowAtIndexPath
- 19. iOS перезагрузка UITableView из класса Swift/объекта
- 20. iOS 6: перезагрузка UITableViewCell height без анимации
- 21. Наложение содержимого контента страницы iOS
- 22. IOS - Тип контента ошибка RestKit
- 23. анзибль - CISCO IOS и «перезагрузка» команда
- 24. ios reloadData только перезагрузка невидимых ячеек
- 25. Перезагрузка AQGridview
- 26. Перезагрузка/перезагрузка Угловое приложение
- 27. Перезагрузка UICollectionView на iOS 6 и iOS 7
- 28. Сохранение пользовательского контента в приложении iOS
- 29. Перезагрузка вида
- 30. Перезагрузка
Не могли бы вы объяснить, как вызвать расширение блокатора из приложения? – liudanking