1.0.2
made it work for new format
This commit is contained in:
3 files changed
+6
-13
No files matched your search
@@ -393,7 +393,7 @@
|
|||||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
||||||
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
|
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 13.5;
|
MACOSX_DEPLOYMENT_TARGET = 13.5;
|
||||||
MARKETING_VERSION = 1.0.1;
|
MARKETING_VERSION = 1.0.2;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards";
|
PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
REGISTER_APP_GROUPS = YES;
|
REGISTER_APP_GROUPS = YES;
|
||||||
@@ -432,7 +432,7 @@
|
|||||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
|
||||||
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
|
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 13.5;
|
MACOSX_DEPLOYMENT_TARGET = 13.5;
|
||||||
MARKETING_VERSION = 1.0.1;
|
MARKETING_VERSION = 1.0.2;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards";
|
PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
REGISTER_APP_GROUPS = YES;
|
REGISTER_APP_GROUPS = YES;
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ struct ContentView: View {
|
|||||||
.padding()
|
.padding()
|
||||||
}
|
}
|
||||||
|
|
||||||
List(players) { player in
|
List(players, id: \.username) { player in
|
||||||
HStack {
|
HStack {
|
||||||
Text(player.username)
|
Text(player.username)
|
||||||
Spacer()
|
Spacer()
|
||||||
|
|||||||
@@ -7,19 +7,12 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
struct Player: Identifiable {
|
struct Player: Codable {
|
||||||
let id = UUID()
|
|
||||||
let username: String
|
let username: String
|
||||||
let score: Int
|
let score: Int
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseLeaderboard(_ raw: String) -> [Player] {
|
func parseLeaderboard(_ raw: String) -> [Player] {
|
||||||
raw.split(separator: ";").compactMap { entry in
|
guard let data = raw.data(using: .utf8) else { return [] }
|
||||||
let parts = entry.split(separator: ":")
|
return (try? JSONDecoder().decode([Player].self, from: data)) ?? []
|
||||||
guard parts.count == 2,
|
|
||||||
let nameData = Data(base64Encoded: String(parts[0])),
|
|
||||||
let username = String(data: nameData, encoding: .utf8),
|
|
||||||
let score = Int(parts[1]) else { return nil }
|
|
||||||
return Player(username: username, score: score)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user