2013-05-14 8 views
5

Czy każdy może doprowadzić mnie do jakiegoś użytecznego linku do wymuszania odświeżania ikony pliku w nowej wersji Findera w wersji 10.8.2?Wymusza odświeżenie ikony elementu rzeczy w Finderze 10.8.2

Pracuję nad tym problemem od kilku dni i wypróbowałem prawie każde rozwiązanie, które można znaleźć w internecie, ale można je znaleźć w starych próbkach, które są zgodne ze starszymi wersjami Findera i nie działają na nowszych. wersje Findera (które są przebudowywane na szkielecie Cocoa).

Próbowałem użyć kilku poleceń z narzędzia skryptu Apple, aby zaktualizować pliki w Finderze ("element aktualizacji z konieczności"), wypróbowałem kilka wtyczek z internetu (szturchnięcie, wyszukiwarka-Odśwież ...), próbowałem także obsługi komunikacja z zewnętrzną aplikacją Mac poprzez framework ScriptingBridge (choć bardzo przydatna), ale nic nie dało mi pożądanego rezultatu.

Zauważyłem, że klasa NSWorkspace zawiera dwie metody: iconForFile i setIcon: forFile, i chociaż mogę zintegrować te dwie funkcje w aplikacji funkcja iconForFile wraca obraz obniżonej jakości, więc utknąłem w tym kierunku także .

Każdy pomysł lub sugestia zostanie wysoko oceniony.

+0

Co zmiana Czekasz na ikonie? Czy zmieniasz typ pliku? Lub konfigurujesz niestandardową ikonę? Albo coś innego? – gaige

Odpowiedz

0

Aby zresetować dla każdej aplikacji pod Mountain Lion, spróbuj w Terminalu:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed -r 

To zabije wszystkich istniejących obiektów usług nośnych i reseedować je rekurencyjnie od standardowych lokalizacjach (/ Applications, etc).

Jeśli masz konkretną aplikację, której dane trzeba zastąpić istniejące informacje, można spróbować:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f <path> 

Chociaż miałem ograniczony szczęścia z tym ostatnim pracująca w niektórych przypadkach, więc może skończyć się robiąc to pierwsze.

+0

Próbowałem tych dwóch poleceń, ale nie dały żadnego wyniku. Nie jestem absolutnie pewien, co robią te dwie linie, ale na podstawie twojego komentarza szwy są trochę niebezpieczne. – user2381688

+0

Po prostu muszę wymusić odświeżanie ikon plików w Finderze. Szwy są łatwe, ale najwyraźniej nie ... – user2381688

+0

Nie są niebezpieczne. Są tam, aby utrzymywać bazy danych używane przez Findera (i inne części systemu operacyjnego) do zlokalizowania plików, z którymi ikonami itp. – gaige

4

Utwórz plik widoczny i usuń go. Spowoduje to odświeżenie okna wyszukiwarki.

+0

I "Jestem nowy na Mac OS X. Co to jest widoczny plik? Jak utworzyć? Jak usunąć? Próbowałem usunąć plik PNG z mojego pulpitu, ale klawisz Delete nie robi żadnych haseł. przenosi się do kosza, należy usunąć? – Noitidart

+1

Możesz utworzyć i usuń plik przy użyciu NSFileManager: –

+0

Hi Parag, Napisałem ten kod ctypes, aby utworzyćFileAtPath, a następnie usunąłemItemAtPath do pliku o nazwie 'ctypes make.js' na pulpicie.Plik został utworzony, a następnie usunięty, jednak ikona pakietu aplikacji nie jest aktualizowana. Jeśli chcesz uruchomić cypsy ze scratchpada firefox w środowisku przeglądarki w celu powtórzenia problemu: [GitHubGIST :: Noitidart/_ff-addon-snippet-ObjC_createFileAtPath.js] (https://gist.github.com/Noitidart/ be9719b30 97ef5843a10) i [GitHubGIST :: Noitidart/_ff-addon-snippet-ObjC_RemoveItemAtPath.js] (https://gist.github.com/Noitidart/f9fdfe77b2b553ee9941) – Noitidart

1

Miałem również ten problem. Miałem .app chciałem zmienić ikonę.

Struktura moim .app:

  • ...noida.app/
    • ...noida.app/Contents/
      • ...
    • ...noida.app/Contents/Resources
      • ...noida.app/Contents/Resources/myicon.icns
    • ...noida.app/Contents/MacOS
      • ...
    • ...noida.app/Contents/plist.Info

Teraz chciałbym zmienić ikonę w folderze zasobów. Potem zrobiłem nowe pliki we wszystkich folderach. To nie zadziałałoby. Jedynym miejscem, w którym mógłbym utworzyć nowy plik, który zaktualizowałbym ikonę był ...noida.app/, więc zrobiłem nowy plik pod ...noida.app/junk folder, a następnie zaktualizowałem go.

Bardzo interesujące.

0

właśnie walki z tym na 10.10 (chociaż to był problem dla lat) i jedynym rozwiązaniem znalazłem wymusić odświeżenie ikony wiązki w Finderze było:

  1. Otwórz „Get Okno informacyjne "pakietu, który chcesz zaktualizować, i wybierz ikonę, klikając na nią.
  2. Wklej inne zdjęcie jako ikonę (możesz skopiować to z innego pliku lub z dowolnej innej lokalizacji za pomocą danych z tego obszaru roboczego).
  3. Naciśnij przycisk powrotu i upewnij się, że ikona zmieniła się w Finderze.
  4. Usunąć ikonę, naciskając klawisz Delete.

Następnie ikona pakietu została odświeżona do nowego pliku .icns w folderze zasobów pakietu.

0

Wpisz w terminalu

killall Finder 

Następnie

killall Dock 
1

Jeśli trzeba zaktualizować jedną ikonę aplikacji, wystarczy dotknąć folder App.app.

Zamknąć okna Findera i wydać polecenie:

touch /Applications/App.app