わかりましたので、私は最近 (ここ数か月以内に) JB tweak dev をいじり始め、git で見つけたオープンソースからゆっくりとピースをまとめています。しかし、私は幾分コーダーの壁にぶつかりました。私がやろうとしているのは、アプリを起動する前に、SB からアプリを起動するときに、アルファ フロート値が 1 秒間 0.0 にアニメーション化するように微調整することです。私が抱えている問題は、私が一生できないことです(そして、私はインターネットを精査しましたが、それが目の前にあると確信していますが、何らかの理由でそれを見ていないだけです)入手方法に関するドキュメントを見つける別のヘッダーの %hook に埋め込まれた別の SB ヘッダーからのメソッドまたはプロパティ。
SBIconView.h から -(id)_iconImageView を取得し、SBApplicationIcon.h から -(void)launchFromLocation:(int)location への %hook で使用する必要があります。
私は最初に touchesEnded を使用して SBIconView.h 内でこれを部分的に機能させましたが、アニメーションがその仕事を終えるまでに、アイコンをジッター モードにスローし、すべてのアプリのアルファ値を 0.0 にすることができましたが、それらのいずれも起動しないでください...したがって、SBApplicationIcon.hで -(id)_iconImageView を使用して目的の結果を得る方法を見つける必要があります。
すべてのヘルプまたは入力は大歓迎です!!! お時間をいただきありがとうございます。
これは私の現在のコードです
enter code here
#import <AudioToolBox/AudioToolBox.h>
#define kBundlePath @"/Library/MobileSubstrate/DynmaicLibraries/com.cramage.LaunchNotifier"
@interface SBApplicationIcon
- (void)launchFromLocation:(int)arg;
@end
@interface SBIconView : UIView
-(id)_iconImageView;
-(float)iconImageAlpha;
+ (id)_jitterTransformAnimation;
+ (id)_jitterPositionAnimation;
+ (int)_defaultIconFormat;
@end
%hook SBApplicationIcon
-(void)launchFromLocation:(int)location
{
SBIconView *sbic=[objc_getClass("SBIconView") _iconImageView];
//NSString *message = [NSString stringWithFormat:@"%1.1f", [sbic iconImageAlpha]];
//UIAlertView *alert2 = [[UIAlertView alloc]initWithTitle:@"Touch" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
//[alert2 show];
//[alert2 release];
//[NSThread sleepForTimeInterval:4.0];
//%orig(location);
NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/play.caf"]; // see list below
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)fileURL,&soundID);
AudioServicesPlaySystemSound(soundID);
//_iconImageView2.alpha = 1.0;
UIView* iconImageView1 = [sbic _iconImageView];
[UIView animateWithDuration:1.0 animations:^{
iconImageView1.alpha = 0.0;
}
completion:^(BOOL finished){
%orig(location);
}];
}
%end