Skip to content

Commit

Permalink
Feat!: Only generate 1024 size iOS icons for xcode 14 compat (#500)
Browse files Browse the repository at this point in the history
* Only 1024 for iOS icons for xcode 14 compat

* chore: update tests
  • Loading branch information
IT-MikeS authored Mar 9, 2023
1 parent a669e82 commit 99a87f4
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 232 deletions.
5 changes: 5 additions & 0 deletions .changeset/wise-buses-drop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@capacitor/assets': major
---

Only generate 1024x1024 for iOS icons for xcode 14 compatibility
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

225 changes: 0 additions & 225 deletions src/platforms/ios/assets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,237 +3,12 @@ import {
Format,
IosIdiom,
IosOutputAssetTemplate,
IosOutputAssetTemplateIcon,
IosOutputAssetTemplateSplash,
Orientation,
Platform,
Theme,
} from '../../definitions';

/**
* 20pt Icon
*
* - iPhone Notification (iOS 7-15)
* - iPad Notification (iOS 7-15)
*/
export const IOS_20_PT_ICON: IosOutputAssetTemplateIcon = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.NotificationIcon,
name: '[email protected]',
format: Format.Png,
width: 20,
height: 20,
scale: 1,
};

export const IOS_20_PT_2X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.NotificationIcon,
name: '[email protected]',
format: Format.Png,
width: 40,
height: 40,
scale: 2,
};

export const IOS_20_PT_2X_1_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.NotificationIcon,
name: '[email protected]',
format: Format.Png,
width: 40,
height: 40,
scale: 2,
};

export const IOS_20_PT_3X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.NotificationIcon,
name: '[email protected]',
format: Format.Png,
width: 60,
height: 60,
scale: 3,
};

/**
* 29pt Icon
*
* - iPhone Settings (iOS 7-15)
* - iPad Settings (iOS 7-15)
* - Apple Watch Companion Settings
* - Apple Watch Notification Center
*/
export const IOS_29_PT_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.SettingsIcon,
name: '[email protected]',
format: Format.Png,
width: 29,
height: 29,
scale: 1,
};

export const IOS_29_PT_2X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.SettingsIcon,
name: '[email protected]',
format: Format.Png,
width: 58,
height: 58,
scale: 2,
};

export const IOS_29_PT_2X_1_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.SettingsIcon,
name: '[email protected]',
format: Format.Png,
width: 58,
height: 58,
scale: 2,
};

export const IOS_29_PT_3X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.SettingsIcon,
name: '[email protected]',
format: Format.Png,
width: 87,
height: 87,
scale: 3,
};

/**
* 40pt Icon
*
* - iPhone Spotlight (iOS 7-15)
* - iPad Spotlight (iOS 7-15)
* - Apple Watch Home Screen
*/
export const IOS_40_PT_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.SpotlightIcon,
name: '[email protected]',
format: Format.Png,
width: 40,
height: 40,
scale: 1,
};

export const IOS_40_PT_2X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.SpotlightIcon,
name: '[email protected]',
format: Format.Png,
width: 80,
height: 80,
scale: 2,
};

export const IOS_40_PT_2X_1_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.SpotlightIcon,
name: '[email protected]',
format: Format.Png,
width: 80,
height: 80,
scale: 2,
};

export const IOS_40_PT_3X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.SpotlightIcon,
name: '[email protected]',
format: Format.Png,
width: 120,
height: 120,
scale: 3,
};

/**
* 60pt Icon
*
* - iPhone App (iOS 7-15)
*/

export const IOS_60_PT_2X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.Icon,
name: '[email protected]',
format: Format.Png,
width: 120,
height: 120,
scale: 2,
};

export const IOS_60_PT_3X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPhone,
kind: AssetKind.Icon,
name: '[email protected]',
format: Format.Png,
width: 180,
height: 180,
scale: 3,
};

/**
* 76pt Icon
*
* - iPad App (iOS 7+)
*/
export const IOS_76_PT_1X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.Icon,
name: '[email protected]',
format: Format.Png,
width: 76,
height: 76,
scale: 1,
};

export const IOS_76_PT_2X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.Icon,
name: '[email protected]',
format: Format.Png,
width: 152,
height: 152,
scale: 2,
};

/**
* 83.5pt Icon
*
* iPad Pro (12.9-inch)
*/
export const IOS_83_5_PT_2X_ICON: IosOutputAssetTemplate = {
platform: Platform.Ios,
idiom: IosIdiom.iPad,
kind: AssetKind.Icon,
name: '[email protected]',
format: Format.Png,
width: 167,
height: 167,
scale: 2,
};

/**
* 1024px Icon
*
Expand Down
6 changes: 3 additions & 3 deletions test/platforms/ios.asset.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ describe('iOS Asset Test', () => {
const strategy = new IosAssetGenerator();
let generatedAssets = ((await assets.iosNotificationIcon?.generate(strategy, ctx.project)) ??
[]) as OutputAsset<IosOutputAssetTemplate>[];
expect(generatedAssets.length).toBeGreaterThan(0);
expect(generatedAssets.length).toBeGreaterThanOrEqual(0);
expect(generatedAssets.length).toBe(exportedIcons.length);

await verifyExists(generatedAssets);
Expand All @@ -108,7 +108,7 @@ describe('iOS Asset Test', () => {
const strategy = new IosAssetGenerator();
let generatedAssets = ((await assets.iosSettingsIcon?.generate(strategy, ctx.project)) ??
[]) as OutputAsset<IosOutputAssetTemplate>[];
expect(generatedAssets.length).toBeGreaterThan(0);
expect(generatedAssets.length).toBeGreaterThanOrEqual(0);
expect(generatedAssets.length).toBe(exportedIcons.length);

await verifyExists(generatedAssets);
Expand All @@ -121,7 +121,7 @@ describe('iOS Asset Test', () => {
const strategy = new IosAssetGenerator();
let generatedAssets = ((await assets.iosSpotlightIcon?.generate(strategy, ctx.project)) ??
[]) as OutputAsset<IosOutputAssetTemplate>[];
expect(generatedAssets.length).toBeGreaterThan(0);
expect(generatedAssets.length).toBeGreaterThanOrEqual(0);
expect(generatedAssets.length).toBe(exportedIcons.length);

await verifyExists(generatedAssets);
Expand Down
4 changes: 2 additions & 2 deletions test/task.generate.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ describe('Task: Generate test', () => {
// log('public', generated);

// TODO: Make this more specific instead of "it generated a lot of assets"
expect(generated.length).toBeGreaterThanOrEqual(97);
expect(generated.length).toBeGreaterThanOrEqual(77);
});

it('Should support custom pwa manifest dir', async () => {
Expand All @@ -62,6 +62,6 @@ describe('Task: Generate test', () => {
expect(manifest['background_color']).toBe('#abcdef');

// TODO: Make this more specific instead of "it generated a lot of assets"
expect(generated.length).toBeGreaterThanOrEqual(97);
expect(generated.length).toBeGreaterThanOrEqual(77);
});
});

0 comments on commit 99a87f4

Please sign in to comment.