Wiele instalacji tej samej aplikacji?

3

Czy jest jakiś sposób na wielokrotne instalowanie tej samej aplikacji (na tym samym koncie użytkownika)?

Zasadniczo mam kilka kont czytnika google i chcę mieć możliwość posiadania wielu wystąpień Reeder . W tej chwili zmiana kont polega na ponownym uruchomieniu aplikacji i ręcznym wpisaniu różnych informacji o koncie. W tym momencie masz dostęp do tylko jednego konta, a przełączanie obejmuje cały rigamarole.

Czy w każdym przypadku mogę mieć coś w rodzaju piaskownicy z własnym pękiem kluczy?


Mam zainstalowany Xcode i wyobrażam sobie, że w Xcode jest jakiś mechanizm pozwalający programom na posiadanie oddzielnego pęku kluczy / informacji, podczas testowania skompilowanej aplikacji. Czy jest coś takiego i / lub jak go używasz?

Fake Name
źródło

Odpowiedzi:

1

Jedynym sposobem na osiągnięcie tego w przypadku aplikacji, które nie mają natywnej obsługi wielu kont, byłoby załatanie CFBundleIdentifier, który jest również używany przez aplikację do znajdowania haseł w pękach kluczy. Możesz to zmienić, edytując plik Info.plist w pakiecie aplikacji. To będzie przerwać podpis cyfrowy aplikacji, więc zawsze pracuj na kopii.

Ponieważ Reeder jest aplikacją z Mac AppStore, spowoduje to zerwanie podpisu cyfrowego aplikacji, co uniemożliwi uruchomienie. Musisz więc usunąć wszystkie oznaki Contents/_CodeSignature/CodeResources także. Wtedy to moc działa, chyba że aplikacja wykonuje dodatkowe sprawdzanie pakietów, które to uniemożliwią. (Co nie wiem w przypadku Reedera.) Kiedy to działa, musisz uruchomić aplikację za pomocą drugiego kliknięcia (kliknięcie prawym przyciskiem, kliknięcie dwoma palcami lub kliknięcie Ctrl), a następnie wybierając „Otwórz ”Z menu kontekstowego i potwierdzenie kolejnego ostrzeżenia od Gatekeepera. (Zdecydowanie nie mogę całkowicie wyłączyć Gatekeepera.)

Oczywiście będziesz musiał wykonać wszystkie te kroki dla każdej kopii po każdej aktualizacji Reeder ponownie. (Z ryzykiem, że Reeder może w dowolnym momencie dodać dodatkowe kontrole, które nie będą już działać).

Inne rozwiązania mogą polegać na korzystaniu z różnych klientów RSS na wielu kontach i żądaniu wsparcia wielu kont przez programistów.

MacLemon
źródło
Cóż, skończyłem z wieloma różnymi czytnikami RSS. Nie miałem szczęścia, aby ulepszyć zawartość aplikacji .plist lub czegokolwiek.
Fake Name
5

Możesz to zrobić z Reeder.

  • Będziesz potrzebował tylu kont użytkowników, ile masz kont Google.
  • Zakładając, że masz 2 konta Google, możesz oczywiście uruchomić swoje główne konto Google jako domyślnego użytkownika. Po prostu kliknij Reeder z Launchera lub Docka i dobrze jest iść.
  • Przejdź do Preferencji systemowych, użytkowników i Grupuj i utwórz nowego użytkownika. Nazwij to TestUser. Upewnij się, że ustawiłeś hasło. Zrobiłoby to standardowe konto użytkownika.
  • Otwórz terminal.
  • wykonaj to: echo "hasło" | sudo -S -u TestUser /Applications/Reeder.app/Contents/MacOS/Reeder & amp;

voila! Możesz teraz zobaczyć drugie okno Reeder!

user30988
źródło
1
ok, przetestowałem to i działa dobrze. moja kopia reedera pochodziła ze sklepu z aplikacjami.
user30988
1
Czy udało się uzyskać dostęp do pęku kluczy? Mogę to wykorzystać do pracy z innymi aplikacjami (na przykład Safari) i będą one działać z ustawieniami, historią itp. Z innego konta, ale przy próbie dostępu do zapisanych haseł powodują błąd.
Daniel
Powoduje to powstanie błędów „Nie znaleziono pęku kluczy” podczas wprowadzania danych logowania do Google.
Fake Name
Logowanie się do nowego konta i logowanie przy użyciu Reedera nie pomaga. Nie przełącza też użytkowników su lub sudo -u
Fake Name
2

Utwórz nowego użytkownika pulpitu dla każdego konta Google Reader. Następnie możesz użyć szybkiego przełączania między kontami, aby zmienić żądanego użytkownika (dostępny jest pasek menu).

Możesz także użyć polecenia powłoki, aby uruchomić proces pod tym samym menedżerem okien od innego użytkownika. Mówić su other_user -c 'open /Applications/Reeder.app'. Zrobiłem to, aby uruchomić aplikacje GUI jako root. Zastanawiałem się nad otworzeniem Chrome przy użyciu tego podejścia, ale wygląda na to, że keychain nie jest poprawnie zainicjowany w tym przypadku - może próbować odczytać łańcuch kluczy od użytkownika hosta. Możesz to rozwiązać, logując się najpierw jako użytkownik, tworząc pęku kluczy, a następnie uruchamiając skrypt.

Dodatek: Nie jestem pewien, czy program App Store zostanie uruchomiony jako inny użytkownik, mający inne uwierzytelnienie (jeszcze nie korzystałem z App Store). W takim przypadku stworzyłbym skrypt, aby tymczasowo zmodyfikować pęk kluczy, uruchomić Reeder, a następnie odtworzyć oryginał. To dość groteskowe podejście.

sapht
źródło
1

W zależności od aplikacji, wyobrażam sobie, że jest to całkowicie możliwe dla niektórych, a nie dla innych. Zależy to od tego, czy aplikacja jest samodzielna w swoim własnym pakiecie, czy też wymaga użycia dodatkowego pliku w folderze ~ / biblioteki, takiego jak plists itp. Używanie takich plików plist itp. Jest często miejscem przechowywania ustawień i preferencji w tym ustawienia konta, a posiadanie wielu wystąpień aplikacji spowoduje, że wszystkie one będą znajdować się w tej samej lokalizacji dla pliku plist.

Możesz zawinąć plik binarny aplikacji w niektóre skrypty, aby przenieść poprawną plist na miejsce przed uruchomieniem każdej instancji, ale ponownie zależnie od aplikacji, nie ma gwarancji, że uruchomiona aplikacja będzie nadal działać, jeśli zmiany plist, lub po prostu na nowe ustawienia w pewnym momencie.

stuffe
źródło
W tym przypadku rzeczy importowane są zawarte w pęku kluczy. Muszę jakoś przekierować dostęp do pęku kluczy lub zmienić nazwę, której jedna z instancji aplikacji używa do przechowywania rzeczy w pęku kluczy.
Fake Name
Założę się, że xCode ma do tego narzędzie. W końcu, jeśli tworzysz aplikację, nie chcesz, aby tworzyła olbrzymi bałagan twojego katalogu systemowego / ~ / library / keychain / cokolwiek, jeśli masz błąd programowania.
Fake Name
1

Jeśli aplikacja pochodzi z dowolnego innego miejsca niż App Store, sugerowałbym, abyś miał rozsądną szansę przebywania w pakiecie aplikacji i być może zmieniania tego, co uważała za swoją nazwę, edytując plik .plist i mając nadzieję, że nazwa wpłynęła użycie pęku kluczy.

Jednak, jak Reeder jest aplikacją App Store, podejrzewam, że utknąłeś. Jeśli zmodyfikujesz aplikację, jej podpis stanie się nieważny i system operacyjny nie pozwoli Ci go uruchomić. Chyba, że ​​możesz zrobić coś w stylu autopodpisywania, który możesz zrobić ...

Chris
źródło
To jest na pulpicie. Mam też strażnika całkowicie wyłączonego. Nie mogę wymyślić żadnych innych rzeczy, które uniemożliwiłyby uruchomienie aplikacji.
Fake Name
W takim przypadku utwórz kopię pakietu, edytuj plik .plist w kopii i sprawdź, czy możesz wpłynąć na użycie pęku kluczy. Spróbowałbym siebie, gdybym nie tkwił przed maszyną firmy Apple przez cały dzień.
Chris
Hmmm, ciekawe. Zrobi
Fake Name
1

Nie - pęku kluczy jest głęboko osadzonym interfejsem systemowym, w którym mapowanie jest silnie powiązane z folderem domowym użytkownika (aplikacja nie może wybrać pęku kluczy użytkownika, do którego ma uzyskać dostęp, ponieważ system informuje go, który folder dosłowny jest mapowany na ~).

Jednak jedynym specjalnym przypadkiem, w którym to zadziała, są aplikacje zaprogramowane za pomocą kodu do odczytu pliku konfiguracyjnego (plik plist, .dotfile lub inny mechanizm) i można użyć automatyzacji do ustawienia tych zmiennych czasu wykonania, ustawień lub bezpośrednio manipuluj plikami .plist przed uruchomieniem danej aplikacji.

  • Dziobak byłby mój wybór dla skryptu powłoki do zmiany rzeczy, a następnie uruchomienia aplikacji i łączenia rzeczy.
  • Skrypty pęku kluczy może również zadrapać swędzenie, jeśli możesz pobrać nazwę elementu pęku kluczy, który chcesz przekazać do aplikacji, aby uzyskać różne zachowanie przy każdym uruchomieniu.

System nie ma widoku piaskownicy na tę separację danych, niż gdybyś miał dosłownie rozpocząć drugą sesję użytkownika (na co pozwala Lion i później), ale aplikacja musiałaby raczej rozpakować dane do potoku lub pliku. niż na ekranie jako działająca aplikacja innego użytkownika.

Krótko mówiąc, nie pisząc tego narzędzia samodzielnie (w końcu masz Xcode), Apple nie zapewnia niczego, co mogłoby zautomatyzować piaskowanie pęku kluczy, jak rozumiem, jak to opisujesz.

bmike
źródło
0

Zakładam się tutaj, ale niektórych aplikacji nie można otworzyć dwukrotnie i nie mogę kupić Reedera do celów testowych. Przypuszczam jednak, że nie można go otworzyć dwukrotnie. Co się stanie, gdy zduplikujesz plik .app i spróbujesz otworzyć oba różne pliki .app? Jeśli coś takiego działa, możesz spróbować zduplikować plik .app i być może znaleźć zawartość, którą chcesz udostępnić lub która może być współdzielona przez oba z nich jako linki symboliczne z kopii odwołującej się do oryginalnej lub głównej aplikacji.

Czy coś w jakiś sposób to pomaga?

FernandoH
źródło