2012-01-20 26 views
6

Có hai ứng dụng được cài đặt trên iPhone (myApp và đối thủ cạnh tranhApp) .competitorApp đang lưu cài đặt người dùng bằng cách sử dụng NSUserDefaults. Tôi biết tất cả các phím (value forKey) sử dụng đối thủ cạnh tranhApp. Có thể nhận các giá trị trong myApp từ đối thủ cạnh tranh không?NSUserDefaults: Có thể nhận userDefaults từ ứng dụng khác không?

+0

Kể từ iOS 8, bạn có thể https://medium.com/ios-os-x-development/shared-user-defaults-in-ios-3f15cd2c9409#.d9um8k7jc – onmyway133

Trả lời

12

Trong Hướng dẫn Lập trình ứng dụng iOS, in the Security section bạn có thể đọc:

Vì lý do an ninh, nơi iOS mỗi ứng dụng (bao gồm cả sở thích của nó và dữ liệu) trong một sandbox lúc cài đặt thời gian. Hộp cát là tập hợp các điều khiển chi tiết của giới hạn quyền truy cập của ứng dụng vào tệp, tùy chọn, tài nguyên mạng, phần cứng, v.v. Là một phần của quá trình sandboxing , hệ thống sẽ cài đặt từng ứng dụng trong hộp cát riêng của mình thư mục, hoạt động như trang chủ cho ứng dụng và dữ liệu của ứng dụng.

Điều đó có nghĩa là nếu bạn không quan tâm đến việc bẻ khóa, điều bạn muốn làm là không thể.

0

Jailbreak .. Giải pháp tốt hơn để lưu giá trị userdefaults trên một số máy chủ và sau đó tải xuống giá trị này trong một ứng dụng khác. Không thể nếu không

5

Không. Ứng dụng không thể truy cập các giá trị mặc định của người dùng khác, cũng không nhìn vào bên trong các hộp cát hệ thống tệp của nhau. Đây là bảo mật hoạt động như được thiết kế.

Các vấn đề liên quan