@wangdu wrote:
需求: 解決錯誤訊息,進而成功取得BundleExecutable
"OBJCCLASS_$_SBApplicationController", referenced from:
objc-class-ref in demoApp.m.a4bf09cc.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
环境: ios 8.1.2操作步骤:
我的應用程式不是tweak,只是越獄application,我嘗試想使用SpringBoard裡面的方法:NSString *appStoreString = [[SBApplicationController.sharedInstance applicationWithBundleIdentifier:@"com.apple.AppStore"] displayName]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:appStoreString message:nil delegate:target cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release];
看到幾個網站的教學是將SpringBoard資料夾放到theos/include的路徑底下,但是我無論怎麼去import不同大大提供的headers檔進去我的theos/include裡面,總是出現少了哪個哪個檔案的錯誤訊息,我已經試著下載三個不同的headers來源限制在ios 8.1,還是無法complie成功,也無法使用SBApplicationController裡的方法取得executable id. 想請問各位大神,要如何在非tweak, 非hook的一般root越獄app使用springboard的方法?
我知道可以使用AppList去取得“類似”的資訊但不是我要的,我最只能從以下方法得到/private/var/mobile/Containers/Bundle/Application/xxxxxxxxxx/TargetApp.app。但我只希望得到TargetApp這個executable file的name而已,在valueForKey我自己嘗試輸入可能得值,只可得到path, displayName, displayIdentifier。
請大大可以告訴小弟要輸入哪個valueForKey的值可以直接拿到executable name?NSString *testBundlePath = [ALApplicationList.sharedApplicationList valueForKey:@"path" forDisplayIdentifier:@"com.Addcn.house591"]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:testBundlePath message:nil delegate:target cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release];
再麻煩各位大神了
參考網站:
Posts: 1
Participants: 1