Closed virtual-meme-machine closed 2 years ago
I will check later,and why not add AltServerData to gitignore and cd dirname to build.sh ,I think that can make testing and develop more convenient
The AltServerData was created in $HOME,and The end line of installation without AltServerData folder is
[2022-04-08 07:15:45,145] WARNING: AltServer: Are you sure you want to continue? (Ctrl-C to avoid) No more details of installation after that
USER_DATA_DIRECTORY = os.path.expanduser(f"~/.local/share/{GUI_NAME}") seems it's the problem ,it's expand not a path print(USER_DATA_DIRECTORY) print("USER_DATA_DIRECTORY")
Still created in $HOME
So when the AltServer exec is ran it creates the AltServerData folder in $HOME? I assumed it was creating it based on the directory it's executed from. I'll do some more testing on this, there may be a CLI argument we can pass into AltServer to set the data directory.
I get the 36607 account sign in error when I try to install AltStore on my iPad (either via the GUI or the AltServer CLI) so it's hard for me to test that part of the workflow. Let me see if I can find an older device or something to test with.
So when the AltServer exec is ran it creates the AltServerData folder in $HOME? I assumed it was creating it based on the directory it's executed from. I'll do some more testing on this, there may be a CLI argument we can pass into AltServer to set the data directory.
I think that's due to desktop file,without specific any path it will set to $HOME at default That can explain why old desktop file always created that in /usr/lib and the new one which delete path parameters created in $HOME
The .desktop file is passing in a working directory then yeah. I'll see if I can figure out a way of forcing the directory in the code so that the .desktop isn't doing anything to impact it.
I think add a initializing message box and initialization done notification would be great for first time installation, download the ipa file and AltServer Linux took some times I think It's necessary to telling users that the app is preparing
And line 656 and 657
if not connection_check(): sys.exit(1)
I would prefer don't do that and only while check update ,if no network,just pop a messagebox that displaying "no network connected"
I think we could do something with idevicename ,that might be useful while multiple devices connected, displaying all connected devices in submenu just like we saw on AltServer,and while no paired devices just showing None in submenu,I will try something when have time
import subprocess
IDEVICE_ID_EXEC = "idevice_id"
IDEVICE_NAME = "idevicename"
UDID = subprocess.check_output([IDEVICE_ID_EXEC, "-l"], stderr=subprocess.DEVNULL).decode().split("\n")
for udid in UDID[:-1] :
DEVICENAME = subprocess.check_output([IDEVICE_NAME,"-u",f"{udid}"], stderr=subprocess.DEVNULL).decode().split("\n")
for devicename in DEVICENAME[:-1]:
print(f"iOS Device Name: {devicename}, UDID: {udid}")
This can get multiple device name and its udid
Yeah that should be relatively easy to implement, we would just iterate over the list of UDIDs and get a name for each.
We may want to add a 'device' class that can store info about a single device such as:
We can serialize these into JSON and store them in the user data folder as well so that we can load them as needed.
What can we do with store "If we have installed AltStore on it previously",AltServer binary finding the AltServerData in the work dir automatically
Changes
I also looked into the 'installation complete' notification issue and from what I can tell it should be triggered: main.py Lines 416 - 426:
Does the "Installation Succeeded" line end up in the log file?