Может ли пользователь изменять свои собственные данные iOS SwiftData/CoreData SQLite напрямую с помощью некоторых инструментов на своих устройствах?

Я создаю приложение для iOS с покупкой внутри приложения, подумывая о сохранении выбора плана пользователя в SwiftData.

Интересно, возможно ли, чтобы пользователь мог изменять данные SwiftData SQLite напрямую с помощью некоторых инструментов редактора.

Если это возможно, я не могу использовать SwiftData/CoreData для хранения выбора плана пользователя.

Это возможно или нет?

Да, с взломанным телефоном. Я не уверен в обратном. Подобные вещи обычно хранятся на вашем внутреннем сервере.

Sweeper 05.08.2024 04:54

Воспользуйтесь StoreKit 2, и тогда вам вообще не нужно будет хранить данные о покупках. Вы можете напрямую и безопасно получить их права при запуске приложения и просто сохранить их в памяти.

Paulw11 05.08.2024 05:04

Я думаю, что это очень возможно. Но если вы используете SwiftData с iCloud, вы можете попробовать @Attribute(.allowsCloudEncryption) var .... в своих моделях. Для локального SwiftData SQLite вы можете зашифровать конфиденциальные свойства ваших моделей, чтобы они хранились в зашифрованном виде в базе данных SQLite, и при необходимости расшифровывать их в вашем приложении. Например, хранение ключа в связке ключей.

workingdog support Ukraine 05.08.2024 06:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
3
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

да, пользователь вполне может изменить данные напрямую, если у него есть доступ к устройству и необходимые инструменты для изменения данных, он может манипулировать базой данных. использование Swiftdata — «хороший» выбор для iOS, но оно сопряжено с огромными рисками.

Это больше подходит в качестве комментария, чем ответа.

Joakim Danielson 05.08.2024 11:16

@JoakimDanielson Но он отвечает на поставленный вопрос.

JeremyP 05.08.2024 15:02

@JoakimDanielson, это действительно не так. Ответ ясен и краток и предлагает альтернативу. Это все, что нужно для ответа.

Tom Harrington 05.08.2024 16:49

Я, конечно, не согласен, там говорится о необходимых инструментах, но не упоминается ни один пример, поэтому он очень расплывчатый, и сказать, что использование SwiftData «огромный риск» — это преувеличение, не подкрепленное никакими доказательствами или данными. Так что на самом деле там говорится только «да, это очень возможно», и это не совсем ответ. Тогда вопрос явно не по теме, но я думаю, это не имеет отношения к данной дискуссии.

Joakim Danielson 05.08.2024 17:43

@JoakimDanielson, очень жаль, я новичок в stackoverflow, поэтому не знаю, как четко отвечать на вопросы. спасибо за это, я буду иметь в виду, чтобы сделать лучше.

Leo 05.08.2024 17:54

Другие вопросы по теме