問題タブ [appdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
11904 参照

ios - このクラスは、キー ビューのキー値コーディングに準拠していません。

AppDelegate に問題があります。アプリを実行すると、次のエラーが発生します。

これは AppDelegate.h のコードです

これは AppDelegate.m のコードです

このエラーを解決するにはどうすればよいですか? RootViewController を書き直して、古いものをゴミ箱に捨てましたが、問題は同じままです。

0 投票する
0 に答える
487 参照

ios - IOS Applicationdidenterbackground は、ルート ビュー コントローラ nil を設定します

バックグラウンド トラッキングを使用する IOS アプリケーションを開発しています。バックグラウンドでのメモリ使用量を最小限に抑えるために、再構築できるアプリ内のすべてのもの (ロケーション マネージャーを含むクラスを除くすべて) を完全に削除したいと考えています。

私のビューコントローラーのそれぞれで、次のように dealloc メソッドを実装しました。

NSLog(@"Destroyed: %@", self);

ここで、アプリのデリゲート メソッド「applicationdidenterbackground」で次のように設定しました。

[self.window setRootViewController:nil];

これはビュー コントローラーへの唯一の参照であるため、正常に動作するはずですが、アプリケーションを実行してホーム ボタンを押しても何も起こりません。ビューが破棄されたというメッセージを受け取るのは、アプリケーションをフォアグラウンドに戻すまでではありません。また、ログの遅延だけではないことも確認しました。計測器を使用して、アプリケーションがフォアグラウンドに戻るまでメモリがまだ割り当てられていることを確認できます。Applicationwillresignactive と同じことです。

この動作は正常ですか?もしそうなら、アプリケーションがバックグラウンドに入ったときに不要なオブジェクトを破棄する正しい方法は何ですか? ありがとう

スティーブ

0 投票する
1 に答える
310 参照

ios - デバッガーがappDelegateに入力されない

アプリケーションを実行すると、次のエラーが発生します。

クラスRootViewControllerを書き直し、xibを2回書き直しました。このため、デバッガーをappDelegateに配置し、メソッドでそれを確認しました。

入ることすら到達せず、メインに直接入り、エラーSIGBRTを生成します。どういう意味ですか?前もって感謝します

0 投票する
1 に答える
1021 参照

ios - pushViewController が機能しない

appDelegate で navigationController を設定しましたが、別の ViewController で呼び出して動作しません。これは私のコードです:

appDelegate.h で

appDelegate.m で

rootViewController.h 内

RootViewController.m で

前もって感謝します

0 投票する
1 に答える
1002 参照

iphone - iPhoneでapplicationDidEnterBackgroundを増やす方法は?

で1つのAPIを呼び出しますapplicationDidEnterBackgroundが、applicationDidEnterBackgroundメソッドは5秒後に戻るので、タイマーを増やすにはどうすればよいですか、またはAPIが終了した後applicationDidEnterBackground、私たち全員が使用を提案するだけで返されますbeginBackgroundTaskWithExpirationHandler

しかし、私はそれを使用する方法がわかりません誰もが私を導くことができますか?

これが私のコードです

applicationDidEnterBackground通話が終了した後、どのように戻るかを誰かに教えてもらえますか。

0 投票する
1 に答える
1124 参照

objective-c - UINavigationController のインスタンスを作成するにはどうすればよいですか?

私の最初の iPhone アプリには、NavigationController があります。AppDelegate で UINavigationController のインスタンスを定義し、それを既定のナビゲーション コントローラーに設定するにはどうすればよいですか?

.h:

.m:

UINavigationItem の CustomNavigationItem サブクラス:

.h:

.m:

これが私のストーリーボードのスクリーンショットです: http://postimage.org/image/sv6elwmcz/

TabBarController の NavigationItem のクラスは CustomNavigationItem に設定され、NavigationItem の右ボタンには -(IBAction)actionApply:(id)sender アクションがあります。

0 投票する
1 に答える
89 参照

iphone - iPhoneのバックグラウンドでタイマー機能を実行

カウントダウンタイマーを開始する関数を作成したいと思います。時間が始まると、突然このアプリを閉じてから、このカウントダウンタイマーがバックグラウンドで実行されます。このアプリをもう一度起動すると、時間よりも適切なタイミングが開始されます

今、私はこの機能を開始すると思います。残り時間は 4:05:38 です。この時点で、私はこのアプリを停止し、時間が 4:03:38 のままになるよりも 2 分後にこれを開始します。

どうすればこれを達成できますか?

0 投票する
1 に答える
546 参照

xcode - iPhone: ビューが変更されてもサウンド クリップの起動が停止しない

起動時にイントロ クリップを再生するアプリがあります。次のコードは- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptionsappDelegate.m 内にあり、見事に機能します。

イントロ サウンドが終了する前にユーザーがビューを変更しても、引き続き再生されます。私はこのコード- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptionsを役立つとは考えていませんでしたが、そうではありませんでした。

ロード リクエストの直後に if ステートメントを配置すればうまくいくかもしれないと思ったのですが、うまくいきませんでした。例を参照してください:

クリップの再生が完了する前にユーザーがビューを変更した場合にイントロ サウンドを停止する提案があれば、すばらしいでしょう。ああ、アプリの他の部分で「viewWillDisappear」を使用して成功しましたが、この場合は「viewDidDisappear」を選択しました。後者も機能しなかったからです。だから私は困惑しています。前もって感謝します。

編集:だから、viewWillDisappear を MainViewController に移動し、デリゲートを呼び出しましたが、まだ運がありません。繰り返しますが、助けていただければ幸いです。

0 投票する
1 に答える
1483 参照

iphone - カスタム アプリの動作を伴うカスタム URL スキーム

複数のユースケースを持つアプリを作成しています。主な機能 (アプリ アイコンを押すことでアクティブ化) と、カスタム URL スキームによってアクティブ化される主な機能の他のサブセットがあります。

私の問題を説明するには、現在、アプリに異なる動作を指示する方法を説明する必要があります。

私は使用しています: -(BOOL)application:didFinishLaunchingWithOptions:

オプションから URL を取得: [launchOptions objectForKey:[keyArray objectAtIndex:0]]

次に、その urlString を解析し、すべての launchType パラメーターを取得して、NSUserDefaults に入れます。次に、スプ​​ラッシュ スクリーンが表示されるのを待ちます。その後、アプリの動作方法が通知されます。

これは最初は問題ないように思えましたが、アプリにディープリンクし、機能 B が表示された場合、アプリはバックグラウンドに入り、次にアプリがフォアグラウンドになったときに (どちらの方法でも)、次のことに気付きました。 、機能 B が表示されます。

誰かが標準的な慣行について考えを持っているかどうか疑問に思っていました.人々は通常どのような方法を使用していますか?

参考までに、-(BOOL)application:application handleOpenURL: が呼び出されたときに、didFinishLaunchingWithOptions がその前に呼び出されない限り、ナビゲーション コントローラーに popToRootViewController を指示することで、この問題を解決しようとしています。 .

0 投票する
1 に答える
446 参照

iphone - グローバル変数Objective-C Iphoneでデータを失う

コードでグローバル変数を使用したいと考えています。いくつかのインスタンスを使用するViewControllerがあるため、グローバルを使用する方が簡単で、コントローラー間でインスタンスを渡すことができます。

したがって、AppDelegate でグローバルを作成します。

AppDelegate.h

AppDelegate.m

}

そして、ViewControllerN.h にこのコードを追加して、任意のコントローラーでグローバルにアクセスします。

したがって、ViewControllerN.m では、グローバルにアクセスできます。次に例を示します。

それは完全に機能します。しかし、どこかで、グローバルからのデータが失われています。

PageControllerA (ControllerA) でアプリを起動します

  • コントローラー A には、コントローラー B、C、および D を含む scrollView があります。
  • ControllerA viewdidLoad の global.friend にデータを追加します
  • コントローラー B、C、D は viewDidLoad でグローバルに正しくアクセスできますが、このコントローラーのいずれかからメソッドを呼び出すと、global.friend が空になります。
  • コントローラ B はコントローラ E を呼び出しますが、コントローラ E の global.friend も空です。

global.friend のホワイト データのみを使用し、オブジェクトを削除することはありません。

データが失われるのはなぜですか? (global.friend 空)