App release
This commit is contained in:
parent
cd1b00dbd3
commit
9b33495718
|
@ -1,8 +1,5 @@
|
||||||
# [Threaded](https://apps.lumaa.fr/app/threaded)
|
# [Threaded](https://apps.lumaa.fr/app/threaded)
|
||||||
|
|
||||||
> [!IMPORTANT]
|
|
||||||
> The app is currently being tested on TestFlight and will be hitting the App Store later this year.
|
|
||||||
|
|
||||||
[Threaded](https://apps.lumaa.fr/app/threaded) is a very simple [#Mastodon](https://joinmastodon.org) client, that is meant to look like the newest social media [#Threads](https://threads.net/) made by Meta Platforms. It integrates perfectly with your Mastodon account, and matches the Threads vibe, while having Mastodon-only features.
|
[Threaded](https://apps.lumaa.fr/app/threaded) is a very simple [#Mastodon](https://joinmastodon.org) client, that is meant to look like the newest social media [#Threads](https://threads.net/) made by Meta Platforms. It integrates perfectly with your Mastodon account, and matches the Threads vibe, while having Mastodon-only features.
|
||||||
|
|
||||||
Threaded is free, made in SwiftUI, [#OpenSource](https://github.com/lumaa-dev/ThreadedApp), and doesn't violate [#YourPrivacy](https://apps.lumaa.fr/legal/privacy?app=threaded). Follow the [#ThreadedAccount](https://mastodon.online/@Threaded) on Mastodon, for progress, updates, polls, and more...
|
Threaded is free, made in SwiftUI, [#OpenSource](https://github.com/lumaa-dev/ThreadedApp), and doesn't violate [#YourPrivacy](https://apps.lumaa.fr/legal/privacy?app=threaded). Follow the [#ThreadedAccount](https://mastodon.online/@Threaded) on Mastodon, for progress, updates, polls, and more...
|
||||||
|
|
|
@ -980,7 +980,7 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.5.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.watchkitapp;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.watchkitapp;
|
||||||
PRODUCT_NAME = Threaded;
|
PRODUCT_NAME = Threaded;
|
||||||
SDKROOT = watchos;
|
SDKROOT = watchos;
|
||||||
|
@ -1011,7 +1011,7 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.5.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.watchkitapp;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.watchkitapp;
|
||||||
PRODUCT_NAME = Threaded;
|
PRODUCT_NAME = Threaded;
|
||||||
SDKROOT = watchos;
|
SDKROOT = watchos;
|
||||||
|
@ -1042,7 +1042,7 @@
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.ThreadedWidgets;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.ThreadedWidgets;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
@ -1076,7 +1076,7 @@
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.ThreadedWidgets;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.ThreadedWidgets;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
@ -1220,7 +1220,7 @@
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_ENTITLEMENTS = Threaded/Threaded.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Threaded/Threaded.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 3165;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEVELOPMENT_ASSET_PATHS = "\"Threaded/Preview Content\"";
|
DEVELOPMENT_ASSET_PATHS = "\"Threaded/Preview Content\"";
|
||||||
DEVELOPMENT_TEAM = HB5P3BML86;
|
DEVELOPMENT_TEAM = HB5P3BML86;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
|
@ -1239,7 +1239,7 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.5.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||||
|
@ -1260,7 +1260,7 @@
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_ENTITLEMENTS = Threaded/Threaded.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Threaded/Threaded.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 3165;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEVELOPMENT_ASSET_PATHS = "\"Threaded/Preview Content\"";
|
DEVELOPMENT_ASSET_PATHS = "\"Threaded/Preview Content\"";
|
||||||
DEVELOPMENT_TEAM = HB5P3BML86;
|
DEVELOPMENT_TEAM = HB5P3BML86;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
|
@ -1279,7 +1279,7 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.5.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||||
|
@ -1308,7 +1308,7 @@
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.AuthService;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.AuthService;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
@ -1338,7 +1338,7 @@
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.AuthService;
|
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.AuthService;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
|
|
@ -98,11 +98,14 @@ struct ContentView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
func showNew() {
|
func showNew() {
|
||||||
let lastVersion = UserDefaults.standard.string(forKey: "lastVersion")
|
if let lastVersion = UserDefaults.standard.string(forKey: "lastVersion") {
|
||||||
if lastVersion == nil || lastVersion != AppInfo.appVersion {
|
if lastVersion != AppInfo.appVersion {
|
||||||
UserDefaults.standard.setValue(AppInfo.appVersion, forKey: "lastVersion")
|
UserDefaults.standard.setValue(AppInfo.appVersion, forKey: "lastVersion")
|
||||||
uniNavigator.presentedSheet = .update
|
uniNavigator.presentedSheet = .update
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
UserDefaults.standard.setValue(AppInfo.appVersion, forKey: "lastVersion")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
|
|
Loading…
Reference in New Issue