2012-04-19 10 views

答えて

125

シミュレータとまったく同じ方法ではできませんが、lldbを使用して同じ効果を達成する良い方法があります。

は、コードの実行を一時停止するデバッガを使用して、コマンドを入力します。デバッガに

p [(CALayer *)[[[[UIApplication sharedApplication] windows] objectAtIndex:0] layer] setSpeed:.1f] 

このソリューションのためにthis linkに感謝します。

+13

良いこれは '[.1f self.window.layerのsetSpeed]に単純化することができることは注目に値しますカチオン:didFinishLaunching ...: 'メソッド。 (アプリケーションデリゲートテンプレートがデフォルトであなたに与えている 'window'プロパティをまだ使用していると仮定します) –

+2

偉大な答えです。これはシミュレータよりも優れています。同じ時間に多くのアニメーションが実行されていました。 0.1Fはまだ私にとっては速すぎるので、私はそれを0.02Fに設定しました。そして今、私はバグがどこにあるかを見ることができます。 D:D:D:D THANX A LOOOOOOT – MQoder

+1

これは、lldbで 'expr - [(UIApplication *)UIApp keyWindow] .layer.speed = 0.1f' –

13

についてはスウィフトアプリ:また

(lldb)p UIApplication.sharedApplication().windows.first?.layer.speed = 0.1


あなたが明らかにも速度を変更することができます

ブレークポイントで停止してコードを、次のlldbのコマンドを入力します。あなたのコードのどこかで。セクション、「その他スウィフト旗」ライン - たとえば、アプリケーションの起動

func application(application: UIApplication, 
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
{ 
    ... 

    #if DEBUG 
     application.windows.first?.layer.speed = 0.1 
    #endif 

#ifプリプロセッサマクロで「カスタムフラグスウィフトコンパイラ」でDEBUG記号を設定することを忘れないでください。 -DDEBUGのエントリを持つDEBUGシンボルを追加します。スウィフト3では

9

UIApplication.shared.windows.first?.layer.speed = 0.1 

それとも、あなたはどこでもあなたのAppDelegateにいるとあなたが一つのウィンドウのみを使用している場合、あなたはこれを行うことができます:Objective-Cで

window?.layer.speed = 0.1 
0

はかなり動作しますアプリデリゲートの `-appliで、実行時に使用した場合、`;:

self.window.layer.speed = .1f; 
関連する問題