Updating extensions for iOS 15/16: Difference between revisions

From iPhone Development Wiki
(june already?)
 
(SBHIconGridSizeClassSizes)
Line 4: Line 4:


If you want to see what's been recently updated on this page, you can use the wiki's [http://iphonedevwiki.net/index.php?title=Updating_extensions_for_iOS_15&action=history history feature] to compare the revisions (to look at the diff) since the last time you visited this page.
If you want to see what's been recently updated on this page, you can use the wiki's [http://iphonedevwiki.net/index.php?title=Updating_extensions_for_iOS_15&action=history history feature] to compare the revisions (to look at the diff) since the last time you visited this page.
== SpringBoardHome ==
=== SBHIconGridSizeClassSizes ===
<code>SBHIconGridSizeClassSizes</code> in all arguments of methods and functions is now passed via pointer, instead of being passed as a raw struct.
You can write code that supports both versions like so:
<syntaxhighlight lang="objc">
@interface SBIconListGridLayoutConfiguration : NSObject
-(void)setIconGridSizeClassSizes:(SBHIconGridSizeClassSizes)sizes;
@end
@interface i15SBIconListGridLayoutConfiguration : NSObject
-(void)setIconGridSizeClassSizes:(SBHIconGridSizeClassSizes *)sizes;
@end
...
SBHIconGridSizeClassSizes sizes = { .small = { .columns = (short)widgetWidth(2, loadoutValueColumns), .rows = 2 },
                                    .medium = { .columns = (short)widgetWidth(4, loadoutValueColumns), .rows = 2 },
                                    .large = { .columns = (short)widgetWidth(4, loadoutValueColumns), .rows = 6 },
                                    .extralarge = { .columns = (short)widgetWidth(4, loadoutValueColumns), .rows = 6 } };
if (@available(iOS 15, *))
    // Cast to the iOS 15 Interface so ARC allows us to compile this
    [(i15SBIconListGridLayoutConfiguration *)config setIconGridSizeClassSizes:&sizes];
else
    [config setIconGridSizeClassSizes:sizes];
</syntaxhighlight>

Revision as of 13:49, 29 December 2021

Let's collect knowledge like we did with iOS 14, iOS 13, iOS 12, iOS 11, iOS 10, iOS 9, iOS 8 and iOS 7 – paste in your notes and share what you've learned, and somebody else will organize it later. :) If you want to ask questions and share tips over chat with other developers, see How to use IRC for how to connect to #theos and #iphonedev.

Hey developer, you can add your knowledge here! Yes, you! Make an account and edit this page!

If you want to see what's been recently updated on this page, you can use the wiki's history feature to compare the revisions (to look at the diff) since the last time you visited this page.

SpringBoardHome

SBHIconGridSizeClassSizes

SBHIconGridSizeClassSizes in all arguments of methods and functions is now passed via pointer, instead of being passed as a raw struct.

You can write code that supports both versions like so:

@interface SBIconListGridLayoutConfiguration : NSObject
-(void)setIconGridSizeClassSizes:(SBHIconGridSizeClassSizes)sizes;
@end

@interface i15SBIconListGridLayoutConfiguration : NSObject
-(void)setIconGridSizeClassSizes:(SBHIconGridSizeClassSizes *)sizes;
@end

...

SBHIconGridSizeClassSizes sizes = { .small = { .columns = (short)widgetWidth(2, loadoutValueColumns), .rows = 2 },
                                    .medium = { .columns = (short)widgetWidth(4, loadoutValueColumns), .rows = 2 },
                                    .large = { .columns = (short)widgetWidth(4, loadoutValueColumns), .rows = 6 },
                                    .extralarge = { .columns = (short)widgetWidth(4, loadoutValueColumns), .rows = 6 } };

if (@available(iOS 15, *))
    // Cast to the iOS 15 Interface so ARC allows us to compile this
    [(i15SBIconListGridLayoutConfiguration *)config setIconGridSizeClassSizes:&sizes];
else
    [config setIconGridSizeClassSizes:sizes];