2013-09-26 132 views
5

Làm cách nào để chia sẻ dữ liệu giữa hai ứng dụng trên cùng một thiết bị có ID nhóm khác nhau? Chúng tôi đã từng làm điều này thông qua các bảng, nhưng với iOS7 để sử dụng các bảng chữ cái ứng dụng cụ thể, bây giờ họ phải có cùng một id nhóm.Chia sẻ dữ liệu riêng tư giữa các ứng dụng iOS có ID nhóm khác nhau

Sự cố mà chúng tôi đang cố giải quyết là mở khóa các tính năng trong một ứng dụng nếu người dùng đã mua ứng dụng khác. Chúng tôi muốn điều này xảy ra lặng lẽ trong nền (do đó ban đầu sử dụng các bảng chữ cái dành riêng cho ứng dụng) nhưng có một số bảo mật để ngăn người dùng giả mạo quá trình và mở khóa các tính năng.

Một cách tiếp cận mà chúng tôi đang điều tra là sử dụng bảng hệ thống nhưng để mã hóa dữ liệu bằng khóa cụ thể của thiết bị. Miễn là cả hai ứng dụng đều sử dụng cùng một thuật toán để tạo khóa, điều này sẽ hiệu quả, nhưng sau đó, vấn đề sẽ trở thành cách tạo khóa cụ thể cho ứng dụng.

Mọi lời khuyên/hướng dẫn về cách tốt nhất để bật loại lược đồ mở khóa tính năng này sẽ rất hữu ích.

+0

Các bạn nhìn vào muối và băm? Đó là 1 cách vì vậy nó không phải là kỹ thuật 'mã hóa' bạn không thể lấy chìa khóa và 'giải mã' nó, bạn chỉ có thể kiểm tra xem một cái gì đó băm khác với cùng một kết quả. Số tiền nào giống như phục hồi ... Tôi tin rằng điều này là/cũng có thể thiết bị cụ thể. – CW0007007

+0

Tôi đã không, nhưng tôi sẽ. Cảm ơn con trỏ. –

+0

Không có vấn đề gì. Rất nhiều thứ ở ngoài kia. Tôi đã sử dụng nó trên một dự án nếu bạn gặp khó khăn. – CW0007007

Trả lời

10

Tôi cũng sử dụng bảng mã để gửi dữ liệu giữa các ứng dụng. Đó là một công cụ thực sự hữu ích để gửi lượng dữ liệu kích thước trung bình giữa các ứng dụng. Tôi thực sự đã viết lên a blog post về chủ đề này trong khi quay trở lại.

Thật không may, như bạn đã chỉ ra, các bảng chữ cái riêng tư chỉ khả dụng cho các ứng dụng chia sẻ cùng một tiền tố trong id ứng dụng của chúng. Đây thường là ID nhóm, nhưng có thể khác nếu bạn có một ứng dụng có từ ngày trở lại khi bạn có thể sử dụng một trình nhận dạng hạt giống nhóm khác.

Nếu bạn có số lượng dữ liệu cá nhân có kích thước trung bình đang được chia sẻ giữa các ứng dụng có tiền tố khác nhau thì một giải pháp khác là theo thứ tự. Trong trường hợp này tôi sẽ đề nghị sử dụng một số hình thức mã hóa và sử dụng các bảng tổng quát để đưa dữ liệu xung quanh. Tùy thuộc vào độ nhạy của dữ liệu, nó có thể là một ý tưởng tốt để mã hóa dữ liệu ngay cả khi sử dụng một bảng riêng tư. Rob Napier có a nice library để thực hiện việc mã hóa và giải mã rất đơn giản.

Hoặc, nếu dữ liệu của bạn khá nhỏ, bạn có thể xem xét mã hóa dữ liệu thành URL và sử dụng lược đồ URL để di chuyển dữ liệu vào ứng dụng khác.

+0

Hi Dillan, cảm ơn bạn đã trả lời. Chúng tôi đã sử dụng bảng tổng quát cuối cùng với mã hóa cơ bản của riêng mình. –

+0

@MagicBulletDave xin lỗi vì đã nhận xét về bài đăng cũ như vậy, nhưng bạn có thể xây dựng giải pháp của mình không? Trong các thử nghiệm của tôi, các bảng chữ cái chung sẽ luôn bị ghi đè bởi bất kỳ hoạt động nào của bảng chữ cái do người dùng khởi tạo, ví dụ: nếu người dùng sao chép một số văn bản hoặc bất cứ điều gì giữa các ứng dụng thời điểm A viết một cái gì đó vào các pasteboard và thời điểm B ứng dụng cố gắng để đọc nó. – jcayzac

0

Tìm thấy bài viết này mà là một tổng quan về các kỹ thuật khác nhau trong đó có một tông tham chiếu ở trên:

Sharing Data Locally