使用Theos开发application时,显示安装所属用户是503,导致一些命令执行不了

我使用Theos开发tweak和application时,不管用make install还是用iFile安装到手机的所属用户是503,不是root或者mobile, 导致很多时候安装后的命令执行不了。

导致最基本的问题用Theos开发的application应用,安装后主页面没有显示图标。

使用make package install 命令安装,在MakeFile的after-install最后一行加上 install.exec “su mobile -c uicache”, 安装后生效可以正常刷新主页面,安装后主页面有显示图标,但是安装用户是503。

MakeFile文件如下

include $(THEOS)/makefiles/common.mk
APPLICATION_NAME = iOSAlertApp
iOSAlertApp_FILES = main.m YKAppDelegate.m YKRootViewController.m
iOSAlertApp_FRAMEWORKS = UIKit CoreGraphics
include $(THEOS_MAKE_PATH)/application.mk
after-install::
        install.exec "su mobile -c uicache" || true
 但是用iFile安装的使用问题就大了,su mobile -c uicache这个命令就不行了,直接使用 uicache 也无效,这二者都无法显示新安装app的图标,显示的安装用户仍是503

我测了一下,我用Theos安装的App,属主是:

drwxr-xr-x  2 mobile staff  1088 Oct 20 10:54 OwnerTest.app

而其他的第三方App,属主是:

drwxr-xr-x  2 root   wheel  2006 Oct  6 00:15 Activator.app

你试试用这个帖子提到的方法,把属主改成root:wheel试试

你好我用了这个su mobile -c uicache 在iOS11.3.1可以生成图标,但是9.3.3和9.3.2却没办法生成图标,有没有解决办法

export THEOS_DEVICE_IP = 192.168.31.71
export THEOS_DEVICE_PORT = 22
include /opt/theos/makefiles/common.mk
APPLICATION_NAME = Root
Root_FILES = main.m LSAppDelegate.m LSRootViewController.m
Root_FRAMEWORKS = UIKit CoreGraphics

include /opt/theos/makefiles/application.mk

after-stage::
	$(ECHO_NOTHING)chmod +s $(THEOS_STAGING_DIR)/Applications/Root.app/Root$(ECHO_END)

after-install::
	install.exec "su mobile -c uicache" || true
	install.exec "killall \"Root\"" || true
	install.exec "killall \"SpringBoard\"" || true

1 个赞