- Remove Combine import and cancellables - Use NSKeyValueObservation for timeControlStatus (controlled teardown) - Invalidate itemStatusObserver before replacing playerItem - Store endObserver token for proper removal - Add cleanup() method called on view disappear - Proper deinit with direct property cleanup (nonisolated-safe)
74 lines
1.3 KiB
JSON
74 lines
1.3 KiB
JSON
{
|
|
"images": [
|
|
{
|
|
"filename": "icon_40.png",
|
|
"idiom": "iphone",
|
|
"scale": "2x",
|
|
"size": "20x20"
|
|
},
|
|
{
|
|
"filename": "icon_60.png",
|
|
"idiom": "iphone",
|
|
"scale": "3x",
|
|
"size": "20x20"
|
|
},
|
|
{
|
|
"filename": "icon_58.png",
|
|
"idiom": "iphone",
|
|
"scale": "2x",
|
|
"size": "29x29"
|
|
},
|
|
{
|
|
"filename": "icon_87.png",
|
|
"idiom": "iphone",
|
|
"scale": "3x",
|
|
"size": "29x29"
|
|
},
|
|
{
|
|
"filename": "icon_80.png",
|
|
"idiom": "iphone",
|
|
"scale": "2x",
|
|
"size": "40x40"
|
|
},
|
|
{
|
|
"filename": "icon_120.png",
|
|
"idiom": "iphone",
|
|
"scale": "3x",
|
|
"size": "40x40"
|
|
},
|
|
{
|
|
"filename": "icon_120.png",
|
|
"idiom": "iphone",
|
|
"scale": "2x",
|
|
"size": "60x60"
|
|
},
|
|
{
|
|
"filename": "icon_180.png",
|
|
"idiom": "iphone",
|
|
"scale": "3x",
|
|
"size": "60x60"
|
|
},
|
|
{
|
|
"filename": "icon_152.png",
|
|
"idiom": "ipad",
|
|
"scale": "2x",
|
|
"size": "76x76"
|
|
},
|
|
{
|
|
"filename": "icon_167.png",
|
|
"idiom": "ipad",
|
|
"scale": "2x",
|
|
"size": "83.5x83.5"
|
|
},
|
|
{
|
|
"filename": "icon_1024.png",
|
|
"idiom": "ios-marketing",
|
|
"scale": "1x",
|
|
"size": "1024x1024"
|
|
}
|
|
],
|
|
"info": {
|
|
"author": "MiniPlayer",
|
|
"version": 1
|
|
}
|
|
} |