Jak naprawić synchronizację zakładki Tekst w preferencjach Klawiatury pod iCloud dla macOS i iOS
iOS i macOS, za pomocą iClouda, synchronizuje coś co Apple nazywa „zastępowanie tekstu” (z ang. text replacement), czyli jeśli na przykład wpiszecie na klawiaturze „AFK”, to w miejscu tego słowa automatycznie pojawi się „Away from Keyboard”. Ta funkcja schowana jest w Preferencjach Systemowych, w panelu Klawiatura, w zakładce Tekst. Niestety, problem z nią jest taki, że czasami przestaje działać. No więc właśnie udało mi się, po raz pierwszy w życiu, to naprawić.
W czym problem
Miałem wyjątkowe szczęście do tej funkcji – nie działała mi tylko trzy razy. Raz się naprawiła sama, raz wystarczyło wylogowanie się z iCloud Drive, restart komputera i ponownie zalogowanie się do niego, a dzisiaj nie pomagało nic.
Otóż pozycje w panelu Tekst synchronizują się za pomocą iCloud Drive, mimo że tego nie widzimy. Niestety, jeśli w jakiś sposób zostanie uszkodzony plik w chmurze, to całość przestaje działać. Biorąc pod uwagę, że to skrajnie prosta rzecz do synchronizowania, to dlatego kompletnie nie ufam Apple jeśli chodzi o moje dane na iCloud Drive i korzystam z alternatywnych rozwiązań…
Dzisiaj w każdym razie nic nie pomagało…
Przepis – backup
Pierwszą rzeczą, którą zrobiłem, to było postawienie przed sobą wszystkich swoich sprzętów. Na kolanach miałem MacBooka Pro, na którym za pomocą Współdzielenia Ekranu widziałem Biurko iMaca (czyli miałem kontrolę nad dwoma komputerami), a obok mnie leżał odblokowany iPhone i iPad.
Następnie na wszystkich czterech urządzeniach odpaliłem panel Tekst:
- pod macOS: Preferencje Systemowe → Klawiatura → Tekst
- pod iOS: Ustawienia → Ogólne → Klawiatura → Tekst
Synchronizacja działała mi między iMakiem, iPhonem i iPadem, ale MacBook odmawiał współpracy, więc zacząłem od iMaca.
- Zaznaczyłem wszystkie pozycje skrótem klawiszowym ⌘A.
- Przeciągnąłem je kursorem na biurko.
- Podczas przenoszenia, jak kursor znajdzie się nad Biurkiem, powinna się pojawić zielona ikona z plusem nad nim. To oznacza, że kopiujemy dane.
- Po puszczeniu lewego przycisku, na Biurku powinien powstać nowy plik Text Substitutions.plist – w środku, w formie tekstowej, znajdują się wszystkie nasze skróty. Poniżej znajdziecie krótki fragment z mojego.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>phrase</key> <string>😉</string> <key>shortcut</key> <string>;-)</string> </dict> <dict> <key>phrase</key> <string>☺️</string> <key>shortcut</key> <string>:-:</string> </dict> <dict> <key>phrase</key> <string>😞</string> <key>shortcut</key> <string>:-(</string> </dict> <dict> <key>phrase</key> <string>🙂</string> <key>shortcut</key> <string>:-)</string> </dict> <dict> <key>phrase</key> <string>😘</string> <key>shortcut</key> <string>:-*</string> </dict> <dict> <key>phrase</key> <string>😕</string> <key>shortcut</key> <string>:-/</string> </dict> </array> </plist>
Ten plik można edytować, ale polecam pracować na kopii oraz korzystać w lepszego edytora tekstu niż TextEdit. Osobiście korzystam z BBEdit.
Przepis – naprawa
Jak już miałem kopię wszystkich swoich danych, to przystąpiłem do eksperymentów.
- Najpierw skasowałem jedną pozycję z iMaca, żeby zobaczyć co się stanie. Zniknęła z iPhone’a, ale z iPada już nie.
- To dodałem pozycję do iPada, która po chwili pojawiła się na MacBooku, ale nie na iPhonie i iMacu. Wyglądało, że cztery komputery, podpięte do jednego konta iCloud, widziały się parami, przy czym para iPad-MacBook jedynie w jedną stronę, dla nowych skrótów.
- Następnym krokiem było skasowanie każdej pozycji na iMac i obserwowanie co się stanie na pozostałych. Żaden z nich nie drgnął.
- Przystąpiłem więc do skasowania wszystkich pozycji z iPada, a potem też z iPhone’a.
- iMac był pusty, więc na okno Preferencji Systemowych, na miejsce gdzie są skróty w zakładce Tekst, przeniosłem Text Replacement.plist (wcześniej też zrobiłem jego kopię z iMaca na MacBooka). Poczekałem chwilę, ale skróty nie pojawiły się nigdzie.
- To samo zrobiłem na MacBooku. Pojawiły się na iPadzie lub iPhonie (nie pamiętam teraz na którym z nich).
- Skasowałem wszystko na MacBooku i iMacu skrótem ⌘A i potem klawiszem Delete, oraz każdą pozycję z iPhone’a lub iPada.
- Ponownie dodałem plik Text Replacement.plist do okna Preferencji Systemowych na MacBooku Pro. Po chwili skróty pojawiły się na iPadzie i iPhonie.
- Skasowałem wszystko na iPhonie i iPadzie, krok po kroku, pozycja po pozycji. Skasowałem też wszystko na MacBooku.
- Dodałem jedną testową pozycję na iMacu. Pojawiła się na iPhonie i iPadzie. Skasowałem ją na tych trzech urządzeniach.
- Przeniosłem Text Replacement.plist do okna Preferencji Systemowych na MacBooku Pro. Po paru sekundach skróty pojawiły się na wszystkich urządzeniach – iPhonie, iPadzie i iMacu.
- Sukces.
Jak widzicie, to była przede wszystkim partyzantka, która na celu miała wymusić nadpisanie pliku z synchronizowanymi danymi w iCloudzie, na każdym urządzeniu (każde urządzenie na swoją bazę w iCloud i synchronizują się one między sobą). Podejrzewam, że kombinując tak jak kombinowałem, w końcu uszkodzony plik zobaczył pozostałe i zaczął się synchronizować.
W każdym razie już wszystko działa. Najbardziej jednak cieszę się z faktu, że zupełnie przypadkowo dowiedziałem się o tym, że mogę stworzyć .plista z backupem swoich skrótów (oczywiście tylko pod macOS, pod iOS-em nie jest to możliwe) – to już połowa sukcesu, bo przywrócenie skrótów to ułamek sekundy, a nie żmudne wklepywanie setek znaków.
Dajcie znać jak Wam poszło, bo słyszałem, że sporo osób ma z tym problem.
Komentarze: 8
Jak to w Apple: “po prostu działa” 😉
Od iOS 8 tego nie ogarnęli. Skandal.
Pierwsze podejście:
na iPhone 6s zero reakcji
na iPad pro 9,7 zdublowało wpisy
Drugie podejście:
zero reakcji gdziekolwiek
Kasowanie ręczne z każdego urządzenia:
na iPadzie kasuje parami
Trzecie podejście (metoda MS: restart urządzeń):
iPhone: działa
iPad: zero
Kasowanie ręczne z MBA:
na iPhone wszystko zostało
Czyli:
przed restartem:
działało jak chciało na linii MBA –> iPad
nie działało na linii MBA iPhone i iPad –> MBA
po restarcie:
działało jednorazowo na linii MBA –> iPhone
inne linie połączeń nie działały
Miałeś po prostu szczęście.
Podobnie u mnie. Powtarzając kroki Wojtka jak i próbując różnych kombinacji, problem pozostał nierozwiązany. Niestety ten przepis to opis własnego szczęśliwego zbiegu okoliczności. Wciąż czekam na prawdziwy fix.
Dlatego napisałem, że musicie znaleźć własny przepis. Ja podałem ten który u mnie zadziałał. Chodzi o to żeby doprowadzić do sytuacji w której na każdym urządzeniu i w iCloud jest pusta lista.
Naprawić? Tfu. Ja bym wolał to zepsuć :) Tak, wiem, muszę wyłączyć całkiem iCloud Drive.
W ogóle pomysł synchronizowania tej listy skrótów (oraz w sumie także listy sieci Wi‑Fi) między urządzeniem mobilnym a komputerem stacjonarnym jest gejzerem kretynizmu – mówiąc najdelikatniej i z największym możliwym szacunkiem dla tego, kto to zwyrodnienie wymyślił :P
Akurat ten sync bardzo sobie cenię. Obu rzeczy.
Może być przydatny, ale super byłoby, gdyby dało się go jednak wyłączyć. Klawiatura dotykowa w telefonie ma inny układ i jest obsługiwana inaczej, niż fizyczne klawisze na komputerze, więc niekoniecznie wszystkie skróty mające sens w przypadku telefonu mają go też na klawiaturze stacjonarnej. Podobnie z Wi‑Fi: można chcieć, aby telefon łączył się z inną siecią, niż komputer – chociażby dlatego, że Apple Watch łączy się automatycznie z tą samą siecią, z którą połączony jest telefon, ale niestety nie widzi sieci 5GHz.