2016-11-16 29 views
5

Problem w obliczu następującego scenariusza. Przed opublikowaniem w przepełnieniu stosu spędziłem kilka godzin za tym. ScenariuszSkopiuj tekst do schowka przez safari i odczytaj dane ze schowka w aplikacji iOS

Krok 1: Za pomocą przeglądarki Safari (lub innej przeglądarki) Użytkownik będzie przeglądać stronę (np. Www.abcdef.com) iz tej strony safari skopiuje tekst do schowka iOS (za pośrednictwem użytkownika na zdarzeniu dotykowym na przycisku kopiowania)

Krok 2: aplikacja iOS zostanie uruchomiona, a aplikacja iOS pobierze/odczyta dane ze schowka (zapisane/zapisane przez Safari).

Czy to możliwe? i jak? Jeśli nie jest to możliwe, możesz podzielić się tym powodem?

Odpowiedz

0

Tak, spróbuj to sprawdzić

UIPasteboard.general.string 
+0

Witam na VAD, próbowałem przez UIPasteboard.general.string ... Działa z jednej aplikacji na iOS do innej aplikacji na iOS ... ale (A) nie działa wraz z przeglądarką internetową jak safari ... (B) prawdopodobnie Nie mogę idealnie ustawić danych przez safari, czy możesz udostępnić dowolny zasób/adres URL? –

+0

nie, to wszystko, co mam –

+0

Mobile Safari nie zachowuje się inaczej niż inne aplikacje korzystające z tego obszaru. Dopóki użytkownik wybierze tekst ze strony i skopiuje go, możesz go wkleić w dowolnym miejscu za pomocą powyższego kodu. Jedyny powód, dla którego to nie zadziała, mogę sobie wyobrazić, jeśli strona spróbuje wyłączyć kopiowanie wszystkich razem (przy pomocy javascript lub czegoś podobnego). Niektóre witryny robią to, aby spróbować "chronić zawartość". Czy próbowałeś tego z różnymi stronami i normalnym tekstem? – Gero

5

Tak można to zrobić, here jest przykładem tego

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

Apple pokazuje błąd -> nspasteboard - nie ma znanej metody klasy dla selektora generalPasteBoard –

+0

@MuhammadMahbuburRahman Zaktualizowano moją odpowiedź – Rajat

+0

Dobra odpowiedź. Ogólnie na tablicy wklejania, podczas gdy użytkownik kopiuje inne dane, moje dane zostają usunięte. Muszę skopiować do schowka za pomocą tagu. Jak to zrobić? –

0

mam zrobić podobną rzecz, ale dla Chrome. Będziesz potrzebował 3 składniki:

  • rozbudowa Przeglądarka
  • Server Wózki boczne
  • iOS

Najpierw trzeba stworzyć rozszerzenie dla Safari i umieścić nową opcję w kontekście menu prawdopodobnie lub za pomocą innych dostępnych środków udostępnia go użytkownikowi. Następnie, gdy użytkownik wybierze twoją akcję niestandardową, wyślesz dane na serwer. Serwer może następnie przekazać powiadomienie do aplikacji na iOS, a gdy użytkownik otworzy aplikację, może pobrać nowo skopiowane wiadomości.

Oczywiście, podczas wykonywania wszystkich tych czynności należy pomyśleć o utworzeniu DB użytkownika, odpowiednio uwierzytelnić użytkowników i zabezpieczyć transmisję danych.