iOS Build 20
@@ -465,7 +465,7 @@
|
|||||||
CODE_SIGN_ENTITLEMENTS = OpenClimb/OpenClimb.entitlements;
|
CODE_SIGN_ENTITLEMENTS = OpenClimb/OpenClimb.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 19;
|
CURRENT_PROJECT_VERSION = 20;
|
||||||
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -508,7 +508,7 @@
|
|||||||
CODE_SIGN_ENTITLEMENTS = OpenClimb/OpenClimb.entitlements;
|
CODE_SIGN_ENTITLEMENTS = OpenClimb/OpenClimb.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 19;
|
CURRENT_PROJECT_VERSION = 20;
|
||||||
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -592,7 +592,7 @@
|
|||||||
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
|
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
|
||||||
CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 19;
|
CURRENT_PROJECT_VERSION = 20;
|
||||||
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_FILE = SessionStatusLive/Info.plist;
|
INFOPLIST_FILE = SessionStatusLive/Info.plist;
|
||||||
@@ -622,7 +622,7 @@
|
|||||||
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
|
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
|
||||||
CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 19;
|
CURRENT_PROJECT_VERSION = 20;
|
||||||
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_FILE = SessionStatusLive/Info.plist;
|
INFOPLIST_FILE = SessionStatusLive/Info.plist;
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.4 KiB |
@@ -1,18 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://schemas.android.com/2000/svg">
|
||||||
|
<!-- Dark background with rounded corners for iOS -->
|
||||||
<rect width="1024" height="1024" fill="#1A1A1A" rx="180" ry="180"/>
|
<rect width="1024" height="1024" fill="#1A1A1A" rx="180" ry="180"/>
|
||||||
|
|
||||||
<g transform="translate(512, 512) scale(2.5)">
|
<!-- Transform to match Android layout exactly -->
|
||||||
<polygon points="-70,80 -20,-60 30,80"
|
<g transform="translate(512, 512) scale(4.75) translate(-54, -42.5)">
|
||||||
|
<!-- Left mountain (yellow/amber) - matches Android coordinates with white border -->
|
||||||
|
<polygon points="15,70 35,25 55,70"
|
||||||
fill="#FFC107"
|
fill="#FFC107"
|
||||||
stroke="#1C1C1C"
|
stroke="#FFFFFF"
|
||||||
stroke-width="4"
|
stroke-width="3"
|
||||||
stroke-linejoin="round"/>
|
stroke-linejoin="round"/>
|
||||||
|
|
||||||
<polygon points="0,80 50,-80 100,80"
|
<!-- Right mountain (red) - matches Android coordinates with white border -->
|
||||||
|
<polygon points="40,70 65,15 90,70"
|
||||||
fill="#F44336"
|
fill="#F44336"
|
||||||
stroke="#1C1C1C"
|
stroke="#FFFFFF"
|
||||||
stroke-width="4"
|
stroke-width="3"
|
||||||
stroke-linejoin="round"/>
|
stroke-linejoin="round"/>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 913 B |
@@ -1,18 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://schemas.android.com/2000/svg">
|
||||||
|
<!-- White background with rounded corners for iOS -->
|
||||||
<rect width="1024" height="1024" fill="#FFFFFF" rx="180" ry="180"/>
|
<rect width="1024" height="1024" fill="#FFFFFF" rx="180" ry="180"/>
|
||||||
|
|
||||||
<g transform="translate(512, 512) scale(2.5)">
|
<!-- Transform to match Android layout exactly -->
|
||||||
<polygon points="-70,80 -20,-60 30,80"
|
<g transform="translate(512, 512) scale(4.75) translate(-54, -42.5)">
|
||||||
|
<!-- Left mountain (yellow/amber) - matches Android coordinates -->
|
||||||
|
<polygon points="15,70 35,25 55,70"
|
||||||
fill="#FFC107"
|
fill="#FFC107"
|
||||||
stroke="#1C1C1C"
|
stroke="#1C1C1C"
|
||||||
stroke-width="4"
|
stroke-width="3"
|
||||||
stroke-linejoin="round"/>
|
stroke-linejoin="round"/>
|
||||||
|
|
||||||
<polygon points="0,80 50,-80 100,80"
|
<!-- Right mountain (red) - matches Android coordinates -->
|
||||||
|
<polygon points="40,70 65,15 90,70"
|
||||||
fill="#F44336"
|
fill="#F44336"
|
||||||
stroke="#1C1C1C"
|
stroke="#1C1C1C"
|
||||||
stroke-width="4"
|
stroke-width="3"
|
||||||
stroke-linejoin="round"/>
|
stroke-linejoin="round"/>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 878 B |
@@ -1,19 +1,23 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://schemas.android.com/2000/svg">
|
||||||
|
<!-- Transparent background with rounded corners for iOS tinted mode -->
|
||||||
<rect width="1024" height="1024" fill="transparent" rx="180" ry="180"/>
|
<rect width="1024" height="1024" fill="transparent" rx="180" ry="180"/>
|
||||||
|
|
||||||
<g transform="translate(512, 512) scale(2.5)">
|
<!-- Transform to match Android layout exactly -->
|
||||||
<polygon points="-70,80 -20,-60 30,80"
|
<g transform="translate(512, 512) scale(4.75) translate(-54, -42.5)">
|
||||||
|
<!-- Left mountain - matches Android coordinates, black fill for tinting -->
|
||||||
|
<polygon points="15,70 35,25 55,70"
|
||||||
fill="#000000"
|
fill="#000000"
|
||||||
stroke="#000000"
|
stroke="#000000"
|
||||||
stroke-width="4"
|
stroke-width="3"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
opacity="0.8"/>
|
opacity="0.8"/>
|
||||||
|
|
||||||
<polygon points="0,80 50,-80 100,80"
|
<!-- Right mountain - matches Android coordinates, black fill for tinting -->
|
||||||
|
<polygon points="40,70 65,15 90,70"
|
||||||
fill="#000000"
|
fill="#000000"
|
||||||
stroke="#000000"
|
stroke="#000000"
|
||||||
stroke-width="4"
|
stroke-width="3"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
opacity="0.9"/>
|
opacity="0.9"/>
|
||||||
</g>
|
</g>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 662 B After Width: | Height: | Size: 981 B |
56
ios/OpenClimb/Assets.xcassets/AppLogo.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"filename": "app_logo_256.png",
|
||||||
|
"idiom": "universal",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearances": [
|
||||||
|
{
|
||||||
|
"appearance": "luminosity",
|
||||||
|
"value": "dark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filename": "app_logo_256_dark.png",
|
||||||
|
"idiom": "universal",
|
||||||
|
"scale": "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "app_logo_256.png",
|
||||||
|
"idiom": "universal",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearances": [
|
||||||
|
{
|
||||||
|
"appearance": "luminosity",
|
||||||
|
"value": "dark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filename": "app_logo_256_dark.png",
|
||||||
|
"idiom": "universal",
|
||||||
|
"scale": "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "app_logo_256.png",
|
||||||
|
"idiom": "universal",
|
||||||
|
"scale": "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearances": [
|
||||||
|
{
|
||||||
|
"appearance": "luminosity",
|
||||||
|
"value": "dark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filename": "app_logo_256_dark.png",
|
||||||
|
"idiom": "universal",
|
||||||
|
"scale": "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info": {
|
||||||
|
"author": "xcode",
|
||||||
|
"version": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
ios/OpenClimb/Assets.xcassets/AppLogo.imageset/app_logo_256.png
vendored
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
ios/OpenClimb/Assets.xcassets/AppLogo.imageset/app_logo_256_dark.png
vendored
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
@@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "mountains_icon_256.png",
|
|
||||||
"idiom" : "universal",
|
|
||||||
"scale" : "1x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"appearances" : [
|
|
||||||
{
|
|
||||||
"appearance" : "luminosity",
|
|
||||||
"value" : "dark"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"filename" : "mountains_icon_256_dark.png",
|
|
||||||
"idiom" : "universal",
|
|
||||||
"scale" : "1x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename" : "mountains_icon_256.png",
|
|
||||||
"idiom" : "universal",
|
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"appearances" : [
|
|
||||||
{
|
|
||||||
"appearance" : "luminosity",
|
|
||||||
"value" : "dark"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"filename" : "mountains_icon_256_dark.png",
|
|
||||||
"idiom" : "universal",
|
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename" : "mountains_icon_256.png",
|
|
||||||
"idiom" : "universal",
|
|
||||||
"scale" : "3x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"appearances" : [
|
|
||||||
{
|
|
||||||
"appearance" : "luminosity",
|
|
||||||
"value" : "dark"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"filename" : "mountains_icon_256_dark.png",
|
|
||||||
"idiom" : "universal",
|
|
||||||
"scale" : "3x"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
@@ -106,7 +106,7 @@ import SwiftUI
|
|||||||
.font(.subheadline)
|
.font(.subheadline)
|
||||||
.fontWeight(.medium)
|
.fontWeight(.medium)
|
||||||
|
|
||||||
Image("MountainsIcon")
|
Image("AppLogo")
|
||||||
.resizable()
|
.resizable()
|
||||||
.frame(width: 24, height: 24)
|
.frame(width: 24, height: 24)
|
||||||
.background(Circle().fill(.quaternary))
|
.background(Circle().fill(.quaternary))
|
||||||
@@ -115,7 +115,7 @@ import SwiftUI
|
|||||||
.font(.caption)
|
.font(.caption)
|
||||||
.foregroundColor(.secondary)
|
.foregroundColor(.secondary)
|
||||||
|
|
||||||
Image("MountainsIcon")
|
Image("AppLogo")
|
||||||
.resizable()
|
.resizable()
|
||||||
.frame(width: 32, height: 32)
|
.frame(width: 32, height: 32)
|
||||||
.background(Circle().fill(.quaternary))
|
.background(Circle().fill(.quaternary))
|
||||||
@@ -322,7 +322,7 @@ import SwiftUI
|
|||||||
// Check if main bundle contains the expected icon assets
|
// Check if main bundle contains the expected icon assets
|
||||||
let expectedAssets = [
|
let expectedAssets = [
|
||||||
"AppIcon",
|
"AppIcon",
|
||||||
"MountainsIcon",
|
"AppLogo",
|
||||||
]
|
]
|
||||||
|
|
||||||
for asset in expectedAssets {
|
for asset in expectedAssets {
|
||||||
@@ -376,7 +376,7 @@ import SwiftUI
|
|||||||
.font(.headline)
|
.font(.headline)
|
||||||
|
|
||||||
HStack(spacing: 20) {
|
HStack(spacing: 20) {
|
||||||
Image("MountainsIcon")
|
Image("AppLogo")
|
||||||
.resizable()
|
.resizable()
|
||||||
.frame(width: 64, height: 64)
|
.frame(width: 64, height: 64)
|
||||||
.background(
|
.background(
|
||||||
@@ -385,7 +385,7 @@ import SwiftUI
|
|||||||
)
|
)
|
||||||
|
|
||||||
VStack(alignment: .leading) {
|
VStack(alignment: .leading) {
|
||||||
Text("MountainsIcon")
|
Text("AppLogo")
|
||||||
.font(.subheadline)
|
.font(.subheadline)
|
||||||
.fontWeight(.medium)
|
.fontWeight(.medium)
|
||||||
Text("In-app icon display")
|
Text("In-app icon display")
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ struct AppInfoSection: View {
|
|||||||
var body: some View {
|
var body: some View {
|
||||||
Section("App Information") {
|
Section("App Information") {
|
||||||
HStack {
|
HStack {
|
||||||
Image("MountainsIcon")
|
Image("AppLogo")
|
||||||
.resizable()
|
.resizable()
|
||||||
.frame(width: 24, height: 24)
|
.frame(width: 24, height: 24)
|
||||||
VStack(alignment: .leading) {
|
VStack(alignment: .leading) {
|
||||||
@@ -240,7 +240,7 @@ struct ExportDataView: View {
|
|||||||
item: fileURL,
|
item: fileURL,
|
||||||
preview: SharePreview(
|
preview: SharePreview(
|
||||||
"OpenClimb Data Export",
|
"OpenClimb Data Export",
|
||||||
image: Image("MountainsIcon"))
|
image: Image("AppLogo"))
|
||||||
) {
|
) {
|
||||||
Label("Share Data", systemImage: "square.and.arrow.up")
|
Label("Share Data", systemImage: "square.and.arrow.up")
|
||||||
.font(.headline)
|
.font(.headline)
|
||||||
|
|||||||