-
Notifications
You must be signed in to change notification settings - Fork 42
/
UIApplicationDelegate.xml
2613 lines (2591 loc) · 164 KB
/
UIApplicationDelegate.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<Type Name="UIApplicationDelegate" FullName="UIKit.UIApplicationDelegate">
<TypeSignature Language="C#" Value="public class UIApplicationDelegate : Foundation.NSObject, IDisposable, UIKit.IUIApplicationDelegate" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit UIApplicationDelegate extends Foundation.NSObject implements class ObjCRuntime.INativeObject, class System.IDisposable, class UIKit.IUIApplicationDelegate" />
<TypeSignature Language="DocId" Value="T:UIKit.UIApplicationDelegate" />
<TypeSignature Language="F#" Value="type UIApplicationDelegate = class
 inherit NSObject
 interface IUIApplicationDelegate
 interface INativeObject
 interface IDisposable" />
<AssemblyInfo>
<AssemblyName>Xamarin.iOS</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>Foundation.NSObject</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>ObjCRuntime.INativeObject</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
<Interface>
<InterfaceName>UIKit.IUIApplicationDelegate</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute>
<AttributeName>Foundation.Model</AttributeName>
</Attribute>
<Attribute>
<AttributeName>Foundation.Protocol</AttributeName>
</Attribute>
<Attribute>
<AttributeName>Foundation.Register("UIApplicationDelegate", false)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>A class used to receive events raised by a <see cref="T:UIKit.UIApplication" />.</summary>
<remarks>
<para>A strongly typed implementation of a class that can be used to respond to events raised by the <see cref="T:UIKit.UIApplication" />.</para>
<para>
Application developers will generally override the <see cref="M:UIKit.UIApplicationDelegate_Extensions.FinishedLaunching(UIKit.IUIApplicationDelegate,UIKit.UIApplication,Foundation.NSDictionary)" /> method, configure the application's main <see cref="T:UIKit.UIWindow" />, instantiate the top-level
<see cref="T:UIKit.UIViewController" />, and assign
it to the <see cref="P:UIKit.UIWindow.RootViewController" />.
</para>
<para>
This is what a minimal UIApplicationDelegate class looks like:
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
UIWindow window;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.RootViewController = new UIViewController ();
window.MakeKeyAndVisible ();
return true;
}
}
]]></code>
</example>
<block subset="none" type="behaviors">UIApplicationDelegate and the Application Lifecycle</block>
<para>The <see cref="T:UIKit.UIApplicationDelegate" /> provides overridable methods for the entire application lifecycle:</para>
<para>
<img href="~/UIKit/_images/UIApplicationDelegate.Lifecycle.png" alt="Sequence diagram showing the UIApplicationDelegate lifecycle" />
</para>
<para>Applications have four major modes:</para>
<list type="bullet">
<item>
<term>Launching, involving the methods <see cref="M:UIKit.UIApplicationDelegate.WillFinishLaunching(UIKit.UIApplication,Foundation.NSDictionary)" />, <see cref="M:UIKit.UIApplicationDelegate_Extensions.FinishedLaunching(UIKit.IUIApplicationDelegate,UIKit.UIApplication,Foundation.NSDictionary)" />, and perhaps <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=UIKit%20UIApplication%20Open%20URL&scope=Xamarin" title="M:UIKit.UIApplication.OpenURL*">M:UIKit.UIApplication.OpenURL*</a></format> (if the application was launched or foregrounded with <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=UIKit%20UIApplication%20Open%20URL&scope=Xamarin" title="M:UIKit.UIApplication.OpenURL*">M:UIKit.UIApplication.OpenURL*</a></format>).</term>
</item>
<item>
<term>Foreground processing, book-ended by the methods <see cref="M:UIKit.UIApplicationDelegate.OnActivated(UIKit.UIApplication)" /> and <see cref="M:UIKit.UIApplicationDelegate.OnResignActivation(UIKit.UIApplication)" />.</term>
</item>
<item>
<term>Background processing or suspension, which begins with a call to <see cref="M:UIKit.UIApplicationDelegate.DidEnterBackground(UIKit.UIApplication)" /> and ends when the application returns to the foreground after executing <see cref="M:UIKit.UIApplicationDelegate.WillEnterForeground(UIKit.UIApplication)" /> or when the application is about to terminate.</term>
</item>
<item>
<term>Terminating, which is preceded by a call to <see cref="M:UIKit.UIApplicationDelegate.WillTerminate(UIKit.UIApplication)" />.</term>
</item>
</list>
<para>As mentioned previously, the most commonly overridden method is <see cref="M:UIKit.UIApplicationDelegate_Extensions.FinishedLaunching(UIKit.IUIApplicationDelegate,UIKit.UIApplication,Foundation.NSDictionary)" />, which is the standard place to initialize the application's <see cref="T:UIKit.UIWindow" /> and that window's <see cref="P:UIKit.UIWindow.RootViewController" />.</para>
<para>iOS applications should be designed to be long-lived, with many transitions between foreground processing and being suspended or backgrounded. </para>
<block subset="none" type="Note">Assigning a UIApplicationDelegate</block>
<para>The <see cref="T:UIKit.UIApplicationDelegate" /> of an application is typically set as one of few, or only, things done by the application's <c>Main</c> method. The <see cref="T:UIKit.UIApplicationDelegate" /> exports a string using the <see cref="T:Foundation.RegisterAttribute" /> and this string is used as the <c>delegateClassName</c> argument to the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=M:UIKit.UIApplication.Main(string[],string,string)&scope=Xamarin" title="M:UIKit.UIApplication.Main(string[],string,string)">M:UIKit.UIApplication.Main(string[],string,string)</a></format> method, as shown in the following example:</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
public class Application
{
static void Main(string[] args)
{
UIApplication.Main(args, null, "AppDelegate");
}
}
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
//...etc
}
]]></code>
</example>
<para>Application's that are launched from a XIB or storyboard use the <see cref="T:UIKit.UIApplicationDelegate" /> specified in the XIB or storyboard.</para>
</remarks>
<related type="externalDocumentation" href="https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/index.html">Apple documentation for <c>UIApplicationDelegate</c></related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public UIApplicationDelegate ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.#ctor" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("init")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Default constructor that initializes a new instance of this class with no parameters.</summary>
<remarks>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected UIApplicationDelegate (Foundation.NSObjectFlag t);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class Foundation.NSObjectFlag t) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.#ctor(Foundation.NSObjectFlag)" />
<MemberSignature Language="F#" Value="new UIKit.UIApplicationDelegate : Foundation.NSObjectFlag -> UIKit.UIApplicationDelegate" Usage="new UIKit.UIApplicationDelegate t" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="t" Type="Foundation.NSObjectFlag" />
</Parameters>
<Docs>
<param name="t">Unused sentinel value, pass NSObjectFlag.Empty.</param>
<summary>Constructor to call on derived classes to skip initialization and merely allocate the object.</summary>
<remarks>
<para>This constructor should be called by derived classes when they completely construct the object in managed code and merely want the runtime to allocate and initialize the NSObject. This is required to implement the two-step initialization process that Objective-C uses, the first step is to perform the object allocation, the second step is to initialize the object. When developers invoke the constructor that takes the NSObjectFlag.Empty they take advantage of a direct path that goes all the way up to NSObject to merely allocate the object's memory and bind the Objective-C and C# objects together. The actual initialization of the object is up to the developer.</para>
<para>This constructor is typically used by the binding generator to allocate the object, but prevent the actual initialization to take place. Once the allocation has taken place, the constructor has to initialize the object. With constructors generated by the binding generator this means that it manually invokes one of the "init" methods to initialize the object.</para>
<para>It is the developer's responsibility to completely initialize the object if they chain up using the NSObjectFlag.Empty path.</para>
<para>In general, if the developer's constructor invokes the NSObjectFlag.Empty base implementation, then it should be calling an Objective-C init method. If this is not the case, developers should instead chain to the proper constructor in their class. </para>
<para>The argument value is ignored and merely ensures that the only code that is executed is the construction phase is the basic NSObject allocation and runtime type registration. Typically the chaining would look like this:</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
//
// The NSObjectFlag merely allocates the object and registers the
// C# class with the Objective-C runtime if necessary, but no actual
// initXxx method is invoked, that is done later in the constructor
//
// This is taken from Xamarin.iOS's source code:
//
[Export ("initWithFrame:")]
public UIView (System.Drawing.RectangleF frame) : base (NSObjectFlag.Empty)
{
// Invoke the init method now.
var initWithFrame = new Selector ("initWithFrame:").Handle;
if (IsDirectBinding)
Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSend_CGRect (this.Handle, initWithFrame, frame);
else
Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_CGRect (this.SuperHandle, initWithFrame, frame);
}
]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected internal UIApplicationDelegate (IntPtr handle);" />
<MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig specialname rtspecialname instance void .ctor(native int handle) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.#ctor(System.IntPtr)" />
<MemberSignature Language="F#" Value="new UIKit.UIApplicationDelegate : nativeint -> UIKit.UIApplicationDelegate" Usage="new UIKit.UIApplicationDelegate handle" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="handle" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="handle">Pointer (handle) to the unmanaged object.</param>
<summary>A constructor used when creating managed representations of unmanaged objects; Called by the runtime.</summary>
<remarks>
<para>This constructor is invoked by the runtime infrastructure (<see cref="M:ObjCRuntime.Runtime.GetNSObject(System.IntPtr)" />) to create a new managed representation for a pointer to an unmanaged Objective-C object. Developers should not invoke this method directly, instead they should call the GetNSObject method as it will prevent two instances of a managed object to point to the same native object.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="AccessibilityPerformMagicTap">
<MemberSignature Language="C#" Value="public virtual bool AccessibilityPerformMagicTap ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool AccessibilityPerformMagicTap() cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.AccessibilityPerformMagicTap" />
<MemberSignature Language="F#" Value="abstract member AccessibilityPerformMagicTap : unit -> bool
override this.AccessibilityPerformMagicTap : unit -> bool" Usage="uIApplicationDelegate.AccessibilityPerformMagicTap " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("accessibilityPerformMagicTap")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Performs the most important action of the app. Often, this is toggling the most important state of the app.</summary>
<returns>By default, returns <see langword="false" />. If overridden, return <see langword="true" /> if the action succeeded.</returns>
<remarks>
<para>If the system-wide "Voice Over" Accessibility setting is on, a two-finger double-tap ("Magic Tap") should perform the most-important behavior of the application (e.g., starting or pausing media playback, answering or hanging up a phone call). Application developers can override this method to provide this functionality.</para>
<para>Application developers should not rely on application users knowing and using the "magic tap" gesture. Applications should always provide a visual UI that provides the same action as the "magic tap."</para>
</remarks>
</Docs>
</Member>
<Member MemberName="ApplicationSignificantTimeChange">
<MemberSignature Language="C#" Value="public virtual void ApplicationSignificantTimeChange (UIKit.UIApplication application);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplicationSignificantTimeChange(class UIKit.UIApplication application) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.ApplicationSignificantTimeChange(UIKit.UIApplication)" />
<MemberSignature Language="F#" Value="abstract member ApplicationSignificantTimeChange : UIKit.UIApplication -> unit
override this.ApplicationSignificantTimeChange : UIKit.UIApplication -> unit" Usage="uIApplicationDelegate.ApplicationSignificantTimeChange application" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("applicationSignificantTimeChange:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<summary>Indicates a significant shift in time, such as midnight, carrier-changed time, or the start or stop of Daylight Savings.</summary>
<remarks>
<para>If the application is suspended, this method will be called when the app returns to the foreground. This method will only be called once, even if multiple significant time changes occurred during suspension.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="ChangedStatusBarFrame">
<MemberSignature Language="C#" Value="public virtual void ChangedStatusBarFrame (UIKit.UIApplication application, CoreGraphics.CGRect oldStatusBarFrame);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ChangedStatusBarFrame(class UIKit.UIApplication application, valuetype CoreGraphics.CGRect oldStatusBarFrame) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.ChangedStatusBarFrame(UIKit.UIApplication,CoreGraphics.CGRect)" />
<MemberSignature Language="F#" Value="abstract member ChangedStatusBarFrame : UIKit.UIApplication * CoreGraphics.CGRect -> unit
override this.ChangedStatusBarFrame : UIKit.UIApplication * CoreGraphics.CGRect -> unit" Usage="uIApplicationDelegate.ChangedStatusBarFrame (application, oldStatusBarFrame)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didChangeStatusBarFrame:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="oldStatusBarFrame" Type="CoreGraphics.CGRect" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<param name="oldStatusBarFrame">The status bar's previous Frame.</param>
<summary>Indicates that the <see cref="P:UIKit.UIView.Frame" /> of the status bar has changed.</summary>
<remarks>
<para>After this method ends, the system posts a <c>UIApplicationDidChangeStatusBarFrameNotification</c> (see <see cref="M:UIKit.UIApplication.Notifications.ObserveDidChangeStatusBarFrame*" />).</para>
</remarks>
</Docs>
</Member>
<Member MemberName="ContinueUserActivity">
<MemberSignature Language="C#" Value="public virtual bool ContinueUserActivity (UIKit.UIApplication application, Foundation.NSUserActivity userActivity, UIKit.UIApplicationRestorationHandler completionHandler);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ContinueUserActivity(class UIKit.UIApplication application, class Foundation.NSUserActivity userActivity, class UIKit.UIApplicationRestorationHandler completionHandler) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.ContinueUserActivity(UIKit.UIApplication,Foundation.NSUserActivity,UIKit.UIApplicationRestorationHandler)" />
<MemberSignature Language="F#" Value="abstract member ContinueUserActivity : UIKit.UIApplication * Foundation.NSUserActivity * UIKit.UIApplicationRestorationHandler -> bool
override this.ContinueUserActivity : UIKit.UIApplication * Foundation.NSUserActivity * UIKit.UIApplicationRestorationHandler -> bool" Usage="uIApplicationDelegate.ContinueUserActivity (application, userActivity, completionHandler)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:continueUserActivity:restorationHandler:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="userActivity" Type="Foundation.NSUserActivity" />
<Parameter Name="completionHandler" Type="UIKit.UIApplicationRestorationHandler">
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BlockProxy(typeof(ObjCRuntime.Trampolines/NIDUIApplicationRestorationHandler))</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="application">The <see cref="T:UIKit.UIApplication" /> singleton.</param>
<param name="userActivity">The user activity identifier.</param>
<param name="completionHandler">System-provided callback that can be called with appropriate <see cref="T:UIKit.UIResponder" /> or <see cref="T:UIKit.UIDocument" /> objects.</param>
<summary>Informs the app that there is data associated with continuing a task specified as a <see cref="T:Foundation.NSUserActivity" /> object, and then returns whether the app continued the activity.</summary>
<returns>
<see langword="true" /> if the app handled the user activity.</returns>
<remarks>
<para>The system calls this method if the application has registered its ability to handle the <paramref name="userActivity" /> and <see cref="M:UIKit.UIApplicationDelegate.WillContinueUserActivity(UIKit.UIApplication,System.String)" /> has returned <see langword="true" />.</para>
<para>An application indicates interest in a particular <paramref name="userActivityType" /> by adding the value to it's <c>info.plist</c> as a <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=System%20String&scope=Xamarin" title="T:System.String">T:System.String</a></format> value in an array called <c>NSUserActivityType</c>. By convention, the activity type begins with a domain-reversed string identifying the developer:</para>
<example>
<code lang="xml"><![CDATA[
<key>NSUserActivityTypes</key>
<array>
<string>com.xamarin.HandOffDemo.verb</string>
</array>
]]></code>
</example>
<para>The <paramref name="completionHandler" /> is a system-provided function that takes an array of <see cref="T:UIKit.UIResponder" /> objects that should have an opportunity to handle the <paramref name="userActivity" />. The system will call the <see cref="M:UIKit.UIResponder.RestoreUserActivityState(Foundation.NSUserActivity)" /> method on each of these objects.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="DidChangeStatusBarOrientation">
<MemberSignature Language="C#" Value="public virtual void DidChangeStatusBarOrientation (UIKit.UIApplication application, UIKit.UIInterfaceOrientation oldStatusBarOrientation);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidChangeStatusBarOrientation(class UIKit.UIApplication application, valuetype UIKit.UIInterfaceOrientation oldStatusBarOrientation) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.DidChangeStatusBarOrientation(UIKit.UIApplication,UIKit.UIInterfaceOrientation)" />
<MemberSignature Language="F#" Value="abstract member DidChangeStatusBarOrientation : UIKit.UIApplication * UIKit.UIInterfaceOrientation -> unit
override this.DidChangeStatusBarOrientation : UIKit.UIApplication * UIKit.UIInterfaceOrientation -> unit" Usage="uIApplicationDelegate.DidChangeStatusBarOrientation (application, oldStatusBarOrientation)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didChangeStatusBarOrientation:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="oldStatusBarOrientation" Type="UIKit.UIInterfaceOrientation" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<param name="oldStatusBarOrientation">The status bar's previous orientation.</param>
<summary>Indicates that the orientation of the status bar has changed.</summary>
<remarks>
<para>After this method ends, the systems posts a <c>UIApplicationDidChangeStatusBarOrientationNotification</c> (see <see cref="M:UIKit.UIApplication.Notifications.ObserveDidChangeStatusBarOrientation*" />).</para>
</remarks>
</Docs>
</Member>
<Member MemberName="DidDecodeRestorableState">
<MemberSignature Language="C#" Value="public virtual void DidDecodeRestorableState (UIKit.UIApplication application, Foundation.NSCoder coder);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidDecodeRestorableState(class UIKit.UIApplication application, class Foundation.NSCoder coder) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.DidDecodeRestorableState(UIKit.UIApplication,Foundation.NSCoder)" />
<MemberSignature Language="F#" Value="abstract member DidDecodeRestorableState : UIKit.UIApplication * Foundation.NSCoder -> unit
override this.DidDecodeRestorableState : UIKit.UIApplication * Foundation.NSCoder -> unit" Usage="uIApplicationDelegate.DidDecodeRestorableState (application, coder)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didDecodeRestorableStateWithCoder:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="coder" Type="Foundation.NSCoder" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<param name="coder">To be added.</param>
<summary>Indicates that the app should restore highest-level state.</summary>
<remarks>
<para>This is the final method called during state restoration. Application developers can override this method to restore their highest-level application data.</para>
</remarks>
<altmember cref="M:UIKit.UIApplicationDelegate.WillEncodeRestorableState" />
</Docs>
</Member>
<Member MemberName="DidEnterBackground">
<MemberSignature Language="C#" Value="public virtual void DidEnterBackground (UIKit.UIApplication application);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidEnterBackground(class UIKit.UIApplication application) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.DidEnterBackground(UIKit.UIApplication)" />
<MemberSignature Language="F#" Value="abstract member DidEnterBackground : UIKit.UIApplication -> unit
override this.DidEnterBackground : UIKit.UIApplication -> unit" Usage="uIApplicationDelegate.DidEnterBackground application" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("applicationDidEnterBackground:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<summary>Indicates that the application has entered the background.</summary>
<remarks>
<para>Application are allocated approximately 5 seconds to complete this method. Application developers should use this time to save user data and tasks, and remove sensitive information from the screen.</para>
</remarks>
<altmember cref="M:UIKit.UIApplicationDelegate.WillEnterForeground" />
<altmember cref="M:UIKit.UIApplication.WillTerminate" />
</Docs>
</Member>
<Member MemberName="DidFailToContinueUserActivitiy">
<MemberSignature Language="C#" Value="public virtual void DidFailToContinueUserActivitiy (UIKit.UIApplication application, string userActivityType, Foundation.NSError error);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidFailToContinueUserActivitiy(class UIKit.UIApplication application, string userActivityType, class Foundation.NSError error) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.DidFailToContinueUserActivitiy(UIKit.UIApplication,System.String,Foundation.NSError)" />
<MemberSignature Language="F#" Value="abstract member DidFailToContinueUserActivitiy : UIKit.UIApplication * string * Foundation.NSError -> unit
override this.DidFailToContinueUserActivitiy : UIKit.UIApplication * string * Foundation.NSError -> unit" Usage="uIApplicationDelegate.DidFailToContinueUserActivitiy (application, userActivityType, error)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didFailToContinueUserActivityWithType:error:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="userActivityType" Type="System.String" />
<Parameter Name="error" Type="Foundation.NSError" />
</Parameters>
<Docs>
<param name="application">To be added.</param>
<param name="userActivityType">To be added.</param>
<param name="error">To be added.</param>
<summary>Informs the app that the activity of the <paramref name="userActivityType" /> type could not be continued, and specifies a <paramref name="error" /> as the reason for the failure.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="DidReceiveRemoteNotification">
<MemberSignature Language="C#" Value="public virtual void DidReceiveRemoteNotification (UIKit.UIApplication application, Foundation.NSDictionary userInfo, Action<UIKit.UIBackgroundFetchResult> completionHandler);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidReceiveRemoteNotification(class UIKit.UIApplication application, class Foundation.NSDictionary userInfo, class System.Action`1<valuetype UIKit.UIBackgroundFetchResult> completionHandler) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.DidReceiveRemoteNotification(UIKit.UIApplication,Foundation.NSDictionary,System.Action{UIKit.UIBackgroundFetchResult})" />
<MemberSignature Language="F#" Value="abstract member DidReceiveRemoteNotification : UIKit.UIApplication * Foundation.NSDictionary * Action<UIKit.UIBackgroundFetchResult> -> unit
override this.DidReceiveRemoteNotification : UIKit.UIApplication * Foundation.NSDictionary * Action<UIKit.UIBackgroundFetchResult> -> unit" Usage="uIApplicationDelegate.DidReceiveRemoteNotification (application, userInfo, completionHandler)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didReceiveRemoteNotification:fetchCompletionHandler:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.TvOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 7, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="userInfo" Type="Foundation.NSDictionary" />
<Parameter Name="completionHandler" Type="System.Action<UIKit.UIBackgroundFetchResult>">
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.BlockProxy(typeof(ObjCRuntime.Trampolines/NIDActionArity1V14))</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="application">Handle to the UIApplication.</param>
<param name="userInfo">To be added.</param>
<param name="completionHandler">Callback to invoke to notify the operating system of the result of the background fetch operation.</param>
<summary>Remote background notification support: Invoked by operating system when your application received a remote notification.</summary>
<remarks>
<para>
This method is part of iOS 7.0 new remote notification
support. This method is invoked if your Entitlements list
the "remote-notification" background operation is set, and you receive a remote notification.
</para>
<para>
Upon completion, you must notify the operating system of the result of the method by invoking the provided callback.
</para>
<para>
Important: failure to call the provided callback method
with the result code before this method completes will
cause your application to be terminated.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="DidRegisterUserNotificationSettings">
<MemberSignature Language="C#" Value="public virtual void DidRegisterUserNotificationSettings (UIKit.UIApplication application, UIKit.UIUserNotificationSettings notificationSettings);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DidRegisterUserNotificationSettings(class UIKit.UIApplication application, class UIKit.UIUserNotificationSettings notificationSettings) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.DidRegisterUserNotificationSettings(UIKit.UIApplication,UIKit.UIUserNotificationSettings)" />
<MemberSignature Language="F#" Value="abstract member DidRegisterUserNotificationSettings : UIKit.UIApplication * UIKit.UIUserNotificationSettings -> unit
override this.DidRegisterUserNotificationSettings : UIKit.UIApplication * UIKit.UIUserNotificationSettings -> unit" Usage="uIApplicationDelegate.DidRegisterUserNotificationSettings (application, notificationSettings)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didRegisterUserNotificationSettings:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Deprecated(ObjCRuntime.PlatformName.iOS, 10, 0, ObjCRuntime.PlatformArchitecture.None, "Use 'UNUserNotificationCenter.RequestAuthorization' instead.")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="notificationSettings" Type="UIKit.UIUserNotificationSettings" />
</Parameters>
<Docs>
<param name="application">To be added.</param>
<param name="notificationSettings">To be added.</param>
<summary>Developers should not use this deprecated method. Developers should use 'UNUserNotificationCenter.RequestAuthorization' instead.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="FailedToRegisterForRemoteNotifications">
<MemberSignature Language="C#" Value="public virtual void FailedToRegisterForRemoteNotifications (UIKit.UIApplication application, Foundation.NSError error);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void FailedToRegisterForRemoteNotifications(class UIKit.UIApplication application, class Foundation.NSError error) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.FailedToRegisterForRemoteNotifications(UIKit.UIApplication,Foundation.NSError)" />
<MemberSignature Language="F#" Value="abstract member FailedToRegisterForRemoteNotifications : UIKit.UIApplication * Foundation.NSError -> unit
override this.FailedToRegisterForRemoteNotifications : UIKit.UIApplication * Foundation.NSError -> unit" Usage="uIApplicationDelegate.FailedToRegisterForRemoteNotifications (application, error)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didFailToRegisterForRemoteNotificationsWithError:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="error" Type="Foundation.NSError" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<param name="error">To be added.</param>
<summary>Indicates that a call to <see cref="M:UIKit.UIApplication.RegisterForRemoteNotifications" /> failed.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="FinishedLaunching">
<MemberSignature Language="C#" Value="public virtual void FinishedLaunching (UIKit.UIApplication application);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void FinishedLaunching(class UIKit.UIApplication application) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.FinishedLaunching(UIKit.UIApplication)" />
<MemberSignature Language="F#" Value="abstract member FinishedLaunching : UIKit.UIApplication -> unit
override this.FinishedLaunching : UIKit.UIApplication -> unit" Usage="uIApplicationDelegate.FinishedLaunching application" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("applicationDidFinishLaunching:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<summary>Method invoked after the application has launched to configure the main window and view controller.</summary>
<remarks>
<para>
This method should create and configure the toplevel window, make it visible. The toplevel window should have a UIViewController.
</para>
<para>
This method is deprecated, you should use the overload that takes a launchOptions instead.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="FinishedLaunching">
<MemberSignature Language="C#" Value="public virtual bool FinishedLaunching (UIKit.UIApplication application, Foundation.NSDictionary launchOptions);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool FinishedLaunching(class UIKit.UIApplication application, class Foundation.NSDictionary launchOptions) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.FinishedLaunching(UIKit.UIApplication,Foundation.NSDictionary)" />
<MemberSignature Language="F#" Value="abstract member FinishedLaunching : UIKit.UIApplication * Foundation.NSDictionary -> bool
override this.FinishedLaunching : UIKit.UIApplication * Foundation.NSDictionary -> bool" Usage="uIApplicationDelegate.FinishedLaunching (application, launchOptions)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:didFinishLaunchingWithOptions:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="launchOptions" Type="Foundation.NSDictionary" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<param name="launchOptions">An NSDictionary with the launch options, can be null. Possible key values are UIApplication's LaunchOption static properties.</param>
<summary>Method invoked after the application has launched to configure the main window and view controller.</summary>
<returns>To be added.</returns>
<remarks>
<para>
This method should create and configure the toplevel window, make it visible. The toplevel window should have a UIViewController.
</para>
<para>
The following example shows a minimal implementation:
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
UIWindow window;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.RootViewController = new UIViewController ();
window.MakeKeyAndVisible ();
return true;
}
}
]]></code>
</example>
<para>
The dictionary launchOptions if set, might contain zero or more information bits. You can use the following keys to retrieve information from it:
</para>
<list type="table">
<listheader>
<term>Dictionary Key for launchOptions</term>
<description>Description</description>
</listheader>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsUrlKey" />
</term>
<description>The application was launched in response to open a URL. the value associated with the key contains the URL to open.</description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsAnnotationKey" />
</term>
<description>Use this key to find out if custom data was passed to the program by the opening application. The value of this key will be a property list. </description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsLocalNotificationKey" />
</term>
<description>
<para>
The value of this key will be a <see cref="T:UIKit.UILocalNotification" /> instance.
</para>
<para>
This key will be present on the launch options if a local notification was delivered and the application was not running.
</para>
</description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsLocationKey" />
</term>
<description>
<para>
Application was started up in response to a location event.
</para>
<para>
The value of this key will be an NSNumber. The application should respond by creating a <see cref="T:CoreLocation.CLLocationManager" /> instance to and get the information from that object.
</para>
</description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsNewsstandDownloadsKey" />
</term>
<description>
<para>This key indicates that Newsstand has completed downloading the requested data. </para>
<para>The value in the dictionary for this key, contains an array of strings that represent <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:Newsstand.NKAssetDownload&scope=Xamarin" title="T:Newsstand.NKAssetDownload">T:Newsstand.NKAssetDownload</a></format> objects.</para>
</description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsRemoteNotificationKey" />
</term>
<description>The value associated with this key will be an NSDictionary with the payload from the remote notification that was received. </description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsSourceApplicationKey" />
</term>
<description>The value associated with the key is the bundle-id of the application that launched this application.</description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsBluetoothPeripheralsKey" />
</term>
<description>
<para>
If this key is present, this means that the
Bluetooth subsystem has launched the application to
restore a previous operation that was being done by
an <see cref="T:CoreBluetooth.CBPeripheralManager" />
objects.
</para>
<para>
The value of the key is an array of strings, each being the keys that you used when you created a CBPeripheralManager.
</para>
</description>
</item>
<item>
<term>
<see cref="P:UIKit.UIApplication.LaunchOptionsBluetoothCentralsKey" />
</term>
<description>
<para>
If this key is present, this means that the
Bluetooth subsystem has launched the application to
restore a previous operation that was being done by
an <see cref="T:CoreBluetooth.CBCentralManager" />
objects.
</para>
<para>
The value of the key is an array of strings, each being the keys that you used when you created a CBPeripheralManager.
</para>
</description>
</item>
</list>
<para>
If the application is designed to handle urls, it should
lookup the <see cref="P:UIKit.UIApplication.LaunchOptionsUrlKey" /> key in the launchOptions to extract the url that is
being launched, and return true at the end of the method
to indicate that the application is able to load that url,
or false if it is not.
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
UIWindow window;
public override bool WillFinishLaunching (UIApplication app, NSDictionary options)
{
if (options != null){
NSObject urlObject;
if (options.TryGetValue (UIApplication.LaunchOptionsUrlKey, out urlObject)){
var url = urlObject as NSUrl;
// Examine the url here
return CanHandle (url);
}
}
return true;
}
}
]]></code>
</example>
<para>
The following example shows how to retrieve the UILocatioNotification at startup.
</para>
<example>
<code lang="csharp lang-csharp"><![CDATA[
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
UIWindow window;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.RootViewController = new UIViewController ();
window.MakeKeyAndVisible ();
if (options != null){
NSObject result;
if (options.TryGetValue (UIApplication.LaunchOptionsLocalNotificationKey, out result)){
UILocalNotification notification = result as UILocalNotification;
Console.WriteLine ("Got a local notification: {0}", notification);
}
}
return true;
}
}
]]></code>
</example>
</remarks>
</Docs>
</Member>
<Member MemberName="GetSupportedInterfaceOrientations">
<MemberSignature Language="C#" Value="public virtual UIKit.UIInterfaceOrientationMask GetSupportedInterfaceOrientations (UIKit.UIApplication application, UIKit.UIWindow forWindow);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype UIKit.UIInterfaceOrientationMask GetSupportedInterfaceOrientations(class UIKit.UIApplication application, class UIKit.UIWindow forWindow) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.GetSupportedInterfaceOrientations(UIKit.UIApplication,UIKit.UIWindow)" />
<MemberSignature Language="F#" Value="abstract member GetSupportedInterfaceOrientations : UIKit.UIApplication * UIKit.UIWindow -> UIKit.UIInterfaceOrientationMask
override this.GetSupportedInterfaceOrientations : UIKit.UIApplication * UIKit.UIWindow -> UIKit.UIInterfaceOrientationMask" Usage="uIApplicationDelegate.GetSupportedInterfaceOrientations (application, forWindow)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:supportedInterfaceOrientationsForWindow:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>UIKit.UIInterfaceOrientationMask</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="forWindow" Type="UIKit.UIWindow">
<Attributes>
<Attribute>
<AttributeName>ObjCRuntime.Transient</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<param name="forWindow">To be added.</param>
<summary>Returns a bit-mask of supported orientations for the specified <paramref name="forWindow" />.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetViewController">
<MemberSignature Language="C#" Value="public virtual UIKit.UIViewController GetViewController (UIKit.UIApplication application, string[] restorationIdentifierComponents, Foundation.NSCoder coder);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class UIKit.UIViewController GetViewController(class UIKit.UIApplication application, string[] restorationIdentifierComponents, class Foundation.NSCoder coder) cil managed" />
<MemberSignature Language="DocId" Value="M:UIKit.UIApplicationDelegate.GetViewController(UIKit.UIApplication,System.String[],Foundation.NSCoder)" />
<MemberSignature Language="F#" Value="abstract member GetViewController : UIKit.UIApplication * string[] * Foundation.NSCoder -> UIKit.UIViewController
override this.GetViewController : UIKit.UIApplication * string[] * Foundation.NSCoder -> UIKit.UIViewController" Usage="uIApplicationDelegate.GetViewController (application, restorationIdentifierComponents, coder)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.iOS</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>Foundation.Export("application:viewControllerWithRestorationIdentifierPath:coder:")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>UIKit.UIViewController</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="application" Type="UIKit.UIApplication" />
<Parameter Name="restorationIdentifierComponents" Type="System.String[]" />
<Parameter Name="coder" Type="Foundation.NSCoder" />
</Parameters>
<Docs>
<param name="application">Reference to the UIApplication that invoked this delegate method.</param>
<param name="restorationIdentifierComponents">An array of identifiers that identify the path to the desired view controller, which should be last.</param>
<param name="coder">To be added.</param>