2012-09-10 27 views
5

Có thể sử dụng một UIPasteboard được đặt tên (nghĩa là không phải là toàn cầu) để chuyển dữ liệu giữa hai ứng dụng?Đã đặt tên UIPasteboard giữa các ứng dụng?

  • các ứng dụng là hoàn toàn độc lập với nhau, vì vậy có bó ID khác nhau từ các nhà cung cấp khác nhau
  • Tôi muốn sử dụng một tông được đặt tên, vì vậy nội dung riêng của người dùng trong tông toàn cầu không được ghi đè

tài liệu của Apple nói:

Pasteboards có thể được công khai hay riêng tư. Các bảng thông báo công khai được gọi là các bảng mã hệ thống; các bảng riêng tư được tạo ra bởi các ứng dụng, và do đó được gọi là các bảng tổng hợp ứng dụng.

Hàm ý là một tấm bảng có thể là "toàn cầu và công khai" hoặc "được đặt tên và riêng tư".

Tôi đã tạo hai ứng dụng, với các ID gói khác nhau và dường như có thể truyền nội dung từ ứng dụng này sang ứng dụng khác bằng cách sử dụng bảng chữ cái được đặt tên riêng tư. Nhưng đó chỉ là một tính năng của Trình mô phỏng iOS, hoặc một cái gì đó thực sự được hỗ trợ nhưng không được ghi chép đầy đủ?

Cảm ơn mọi thông tin chi tiết!

Trả lời

9

Bạn có thể thiết lập một chuỗi tùy chỉnh cho giá trị tông của bạn và sử dụng trên các ứng dụng của bạn để ứng dụng của bạn phải truy cập vào giá trị với chuỗi duy nhất của bạn:

UIPasteboard *pasteboard = [UIPasteboard pasteboardWithName:@"youruniquestring" create:YES]; 

[pasteboard setPersistent:YES]; 

//save the unique identifier string that we created earlier 
[pasteboard setString:@"your message"]; 
+0

Cảm ơn câu trả lời của bạn. Bạn đặc biệt nói "ứng dụng của bạn", nhưng tôi quan tâm hơn đến "bất kỳ hai ứng dụng nào", không nhất thiết phải có hai ứng dụng từ cùng một nhà cung cấp. – Matthew

+1

Cho dù các ứng dụng là của bạn hoặc từ bất cứ ai miễn là họ nhận thức được chìa khóa thì bạn ổn. Đây là phương pháp tương tự mà OpenUDID sử dụng, đó là cách chia sẻ khóa duy nhất trong số bất kỳ ứng dụng nào sử dụng phương pháp này. – rooster117

+0

Tuyệt vời, cảm ơn một lần nữa. Câu trả lời hàng đầu! :-D – Matthew

1

Nó được hỗ trợ. Tuy nhiên, hãy nhớ rằng bảng chữ cái được đặt tên sẽ biến mất nếu cả hai ứng dụng được thiết lập sẽ bị xóa, do đó, đừng sử dụng nó để lưu trữ bất kỳ thứ gì bạn không có bản sao lưu.

+0

Hmm, tôi không hiểu tại sao sẽ có bất kỳ liên kết nào với một bảng chữ cái có tên và hai ứng dụng. Trừ khi iOS theo dõi ứng dụng nào truy cập vào một bảng chữ cái được đặt tên cụ thể. (Và điều đó nghe có vẻ hơi khó chịu) #brainhurts – Matthew

+0

@ Noah: tôi đã tìm kiếm điều này, nhưng tôi không thể tìm thấy nó, nhưng tôi quan sát thấy nó ... là nó được ghi lại ở đâu đó? Tôi cũng có thể hỏi liệu các bảng dán có còn tồn tại ngay cả sau khi sao lưu/xóa/khôi phục không? – LolaRun

+0

Tôi không tin rằng tài liệu đó được ghi ở bất cứ đâu — chỉ được khám phá bằng thử nghiệm. Khá chắc chắn sao lưu/phục hồi cũng sẽ xóa các bảng chữ cái là tốt. –