2016-11-16 109 views
5

Aşağıdaki senaryoda karşılaşılan sorunla karşılaşıyorum. Yığın taşmasına göndermeden önce, bunun arkasında birkaç saat harcadım. SenaryoYazı panoya panoya kopyala ve bu panodaki verileri oku iOS Video

Adım 1: Safari ile (veya başka bir tarayıcıda) Kullanıcı bir sayfaya gözatacaktır (örn. Www.abcdef.com) ve bu sayfadan safari metni iOS panoya kopyalayacaktır (kopyala düğmesindeki dokunma olayıyla kullanıcı aracılığıyla)

2. Adım: iOS Uygulaması başlatılacak ve bu iOS uygulaması pano verisini okuyacaktır/okuyacaktır (bunlar safari tarafından kaydedilmiş/yazılmıştır).

Mümkün mü? ve eğer nasıl? Eğer mümkün değilse, bunun arkasındaki sebebi paylaşabilir misiniz?

cevap

0

Evet, bu

UIPasteboard.general.string 
+0

Merhaba @ Vlad, UIPasteboard.general.string üzerinden denedim ... Bir iOS uygulamasından başka bir iOS uygulamasına kadar çalışıyor ... ama (A) web tarayıcısı ile birlikte safari gibi çalışmıyor ... (B) Verileri güvenli bir şekilde mükemmel bir şekilde ayarlayamıyorum, bunun için herhangi bir kaynağı/URL'yi paylaşabilir misiniz? –

+0

nope, hepsi var –

+0

Mobil Safari, çalışma panosunu kullanan diğer uygulamalardan farklı davranmıyor. Kullanıcı bir sayfadan metin seçip kopyaladığı sürece, yukarıdaki kodla herhangi bir yere yapıştırabilirsiniz. İşe yaramayacağının tek nedeni, sitenin hep birlikte kopyalamayı devre dışı bırakmaya çalışmasıdır (javascript veya bir şeyle). Bazı siteler bunu denemek ve "içeriği korumak" için yaparlar. Bunu farklı sitelerde ve normal metinde denediniz mi? – Gero

5

Evet bunu yapabilirsiniz kontrol etmek deneyin, here Ben ancak Chrome için benzer bir şey yaptık yani

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; 
if (pasteboard.string != nil) { 
    // Do something with the contents... 
} 
+0

Apple bir hata gösteriyor -> nspasteboard - seçmen sınıfı için bilinen bir sınıf methdo yokPasteBoard –

+0

@MuhammadMahbuburRahman Benim yanıtım güncellendi – Rajat

+0

Nice Answer. Genel olarak yapıştırma panosu, kullanıcı başka bir veriyi kopyalarken, verilerim kaldırır. Bir etikete sahip panoya kopyalamam gerekiyor. Bu nasıl yapılır? –

0

bir örnektir. 3 bileşenlerini gerekir:

  • Tarayıcı uzantısı
  • Sunucu tarafı işleyicileri
  • iOS uygulaması

İlk olarak, Safari için bir uzantısı oluşturmak ve bağlam içinde yeni bir seçenek koymak zorunda Menü muhtemelen, veya başka bir erişilebilir araç tarafından kullanıcı tarafından kullanılabilir hale getirir. Daha sonra kullanıcı özel eyleminizi seçtiğinde, verileri sunucunuza gönderirsiniz. Sunucu, daha sonra iOS uygulamanıza bir bildirim gönderebilir ve kullanıcı uygulamayı açtığında, yeni kopyalanan mesajları indirebilir.

Elbette, tüm bunları yaparken kullanıcı DB'si oluşturmayı, kullanıcıları doğru şekilde doğrulamayı ve veri iletimini korumayı düşünmelisiniz.