Skip to content

Commit 932d940

Browse files
committed
Fix desktop exception
1 parent 0fd46cc commit 932d940

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

templates/swift/Sources/PackageInfo/Linux/PackageInfo+Linux.swift

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,18 @@ extension PackageInfo {
66
let version = getVersionJson()
77

88
return PackageInfo(
9-
appName: version["app_name"] as! String,
10-
version: version["version"] as! String,
11-
buildNumber: version["build_number"] as! String,
12-
packageName: "",
13-
buildSignature: ""
9+
appName: version?["appName"] as? String ?? "",
10+
version: version?["version"] as? String ?? "",
11+
buildNumber: version?["buildNumber"] as? String ?? "",
12+
packageName: version?["packageName"] as? String ?? "",
13+
buildSignature: version?["buildSignature"] as? String ?? ""
1414
)
1515
}
1616

17-
private static func getVersionJson() -> [String: Any] {
17+
private static func getVersionJson() -> [String: Any]? {
1818
let exePath = URL(fileURLWithPath: "/proc/self/exe").resolvingSymlinksInPath()
1919
let appPath = exePath.deletingLastPathComponent()
2020
let jsonPath = appPath.appendingPathComponent("version.json")
21-
return try! JSONSerialization
22-
.jsonObject(with: Data(contentsOf: jsonPath)) as! [String: Any]
21+
return try? JSONSerialization.jsonObject(with: Data(contentsOf: jsonPath)) as? [String: Any]
2322
}
2423
}
Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
import Foundation
22

3-
class WindowsPackageInfo : PackageInfo {
3+
extension PackageInfo {
44

55
public static func getWindowsPackage() -> PackageInfo {
6-
return WindowsPackageInfo(
7-
appName: "",
8-
version: "",
9-
buildNumber: "",
10-
packageName: ""
6+
let version = getVersionJson()
7+
return PackageInfo(
8+
appName: version?["appName"] as? String ?? "",
9+
version: version?["version"] as? String ?? "",
10+
buildNumber: version?["buildNumber"] as? String ?? "",
11+
packageName: version?["packageName"] as? String ?? "",
12+
buildSignature: version?["buildSignature"] as? String ?? ""
1113
)
1214
}
15+
16+
private static func getVersionJson() -> [String: Any]? {
17+
let exePath = URL(fileURLWithPath: "/proc/self/exe").resolvingSymlinksInPath()
18+
let appPath = exePath.deletingLastPathComponent()
19+
let jsonPath = appPath.appendingPathComponent("version.json")
20+
return try? JSONSerialization.jsonObject(with: Data(contentsOf: jsonPath)) as? [String: Any]
21+
}
1322
}

0 commit comments

Comments
 (0)