diff --git a/BrowserKit/.swiftpm/xcode/xcshareddata/xcschemes/Shared.xcscheme b/BrowserKit/.swiftpm/xcode/xcshareddata/xcschemes/Shared.xcscheme
index f4b6500a9379d..c955bd601ea5c 100644
--- a/BrowserKit/.swiftpm/xcode/xcshareddata/xcschemes/Shared.xcscheme
+++ b/BrowserKit/.swiftpm/xcode/xcshareddata/xcschemes/Shared.xcscheme
@@ -28,29 +28,7 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
- codeCoverageEnabled = "YES"
- onlyGenerateCoverageForSpecifiedTargets = "YES">
-
-
-
-
-
-
-
-
-
-
+ shouldAutocreateTestPlan = "YES">
?#
+ var deepLinkString = "echodotapp://"
+ let pathComponent = url.path.trimmingCharacters(in: CharacterSet(charactersIn: "/"))
+ if !pathComponent.isEmpty {
+ deepLinkString += pathComponent
+ }
+ if let query = url.query, !query.isEmpty {
+ deepLinkString += "?" + query
+ }
+ if let fragment = url.fragment, !fragment.isEmpty {
+ deepLinkString += "#" + fragment
+ }
+
+ if let deepLinkURL = URL(string: deepLinkString, invalidCharacters: false) {
+ if UIApplication.shared.canOpenURL(deepLinkURL) {
+ UIApplication.shared.open(deepLinkURL, options: [:])
+ return false
+ } else {
+ let alert = RequestHandler.makeAlert(
+ title: String(format: UIConstants.strings.externalAppLinkWithAppName,
+ AppInfo.productName, "Echo"),
+ action: UIConstants.strings.open,
+ forURL: deepLinkURL)
+ alertCallback(alert)
+ return false
+ }
+ }
+ return true
+```
diff --git a/customization-assets/iPhone - Splash@2x.png b/customization-assets/iPhone - Splash@2x.png
new file mode 100644
index 0000000000000..7aed55917de6c
Binary files /dev/null and b/customization-assets/iPhone - Splash@2x.png differ
diff --git a/customization-assets/iPhone_Production_Mode_Portrait.png b/customization-assets/iPhone_Production_Mode_Portrait.png
new file mode 100644
index 0000000000000..1e033baab0ff4
Binary files /dev/null and b/customization-assets/iPhone_Production_Mode_Portrait.png differ
diff --git a/customization-assets/icon-dark.png b/customization-assets/icon-dark.png
new file mode 100644
index 0000000000000..b7d3f4d670469
Binary files /dev/null and b/customization-assets/icon-dark.png differ
diff --git a/customization-assets/icon-tinted.png b/customization-assets/icon-tinted.png
new file mode 100644
index 0000000000000..0350d499ae26c
Binary files /dev/null and b/customization-assets/icon-tinted.png differ
diff --git a/customization-assets/icon.png b/customization-assets/icon.png
new file mode 100644
index 0000000000000..0350d499ae26c
Binary files /dev/null and b/customization-assets/icon.png differ
diff --git a/focus-ios/Blockzilla.xcodeproj/project.pbxproj b/focus-ios/Blockzilla.xcodeproj/project.pbxproj
index fd9d4184d5157..89790fb3775ff 100644
--- a/focus-ios/Blockzilla.xcodeproj/project.pbxproj
+++ b/focus-ios/Blockzilla.xcodeproj/project.pbxproj
@@ -3647,7 +3647,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -3673,7 +3673,7 @@
);
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.XCUITest;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.XCUITest;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -3710,7 +3710,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -3729,7 +3729,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.XCUITest;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.XCUITest;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -3767,7 +3767,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -3786,7 +3786,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.XCUITests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.XCUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -3823,7 +3823,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -3842,7 +3842,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.XCUITests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.XCUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -3947,7 +3947,7 @@
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NFZL2NT288;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -3974,10 +3974,10 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.FocusIntentExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.FocusIntentExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Klar.FocusIntentExtension";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT me.whydontyoulove.ios.webviewer.Klar.FocusIntentExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
@@ -4020,11 +4020,11 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_ENTITLEMENTS = FocusIntentExtension/FocusIntentExtension.entitlements;
- CODE_SIGN_STYLE = Manual;
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -4044,10 +4044,9 @@
);
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.FocusIntentExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.FocusIntentExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Focus.FocusIntentExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -4096,7 +4095,7 @@
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -4116,9 +4115,9 @@
);
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.FocusIntentExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.FocusIntentExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Klar.FocusIntentExtension";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Klar.FocusIntentExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -4167,7 +4166,7 @@
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -4187,9 +4186,9 @@
);
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.FocusIntentExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.FocusIntentExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Focus.FocusIntentExtension";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Focus.FocusIntentExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -4237,7 +4236,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -4257,7 +4256,7 @@
);
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.FocusIntentExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.FocusIntentExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
@@ -4306,7 +4305,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -4326,7 +4325,7 @@
);
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.FocusIntentExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.FocusIntentExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
@@ -4378,7 +4377,7 @@
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
@@ -4416,7 +4415,7 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.RustMozillaAppServices;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.RustMozillaAppServices;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -4474,7 +4473,7 @@
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
@@ -4505,7 +4504,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.RustMozillaAppServices;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.RustMozillaAppServices;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -4563,7 +4562,7 @@
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
@@ -4594,7 +4593,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.RustMozillaAppServices;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.RustMozillaAppServices;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -4652,7 +4651,7 @@
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
@@ -4683,7 +4682,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.RustMozillaAppServices;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.RustMozillaAppServices;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -4772,7 +4771,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.RustMozillaAppServices;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.RustMozillaAppServices;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
@@ -4860,7 +4859,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.RustMozillaAppServices;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.RustMozillaAppServices;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
@@ -4904,7 +4903,7 @@
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NFZL2NT288;
DISPLAY_NAME = "Firefox Klar";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@@ -4931,10 +4930,10 @@
);
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.ShareExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.ShareExtension;
PRODUCT_NAME = ShareExtension;
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Klar.ShareExtension";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT me.whydontyoulove.ios.webviewer.Klar.ShareExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "KLAR DEBUG";
@@ -4968,13 +4967,11 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "Apple Development";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CODE_SIGN_STYLE = Manual;
+ CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
- DISPLAY_NAME = "Firefox Focus";
+ DEVELOPMENT_TEAM = NFZL2NT288;
+ DISPLAY_NAME = "Web Viewer";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -4993,10 +4990,9 @@
"@executable_path/../../Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ShareExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ShareExtension;
PRODUCT_NAME = ShareExtension;
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Focus.ShareExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "FOCUS DEBUG";
@@ -5035,7 +5031,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
DISPLAY_NAME = "Firefox Klar";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -5055,10 +5051,10 @@
"@executable_path/../../Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.ShareExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.ShareExtension;
PRODUCT_NAME = ShareExtension;
PROVISIONING_PROFILE = "19a73a45-cb96-420d-96d5-2b7b2954781e";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Klar.ShareExtension";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Klar.ShareExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -5097,8 +5093,8 @@
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
- DISPLAY_NAME = "Firefox Focus";
+ DEVELOPMENT_TEAM = NFZL2NT288;
+ DISPLAY_NAME = "Web Viewer";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -5117,10 +5113,10 @@
"@executable_path/../../Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ShareExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ShareExtension;
PRODUCT_NAME = ShareExtension;
PROVISIONING_PROFILE = "2c2c3eef-8a98-49d6-a31f-754ddff5867b";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Focus.ShareExtension";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Focus.ShareExtension";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -5159,7 +5155,7 @@
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = "";
- DISPLAY_NAME = "Firefox Focus";
+ DISPLAY_NAME = "Web Viewer";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -5178,7 +5174,7 @@
"@executable_path/../../Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.enterprise.ShareExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.enterprise.ShareExtension;
PRODUCT_NAME = ShareExtension;
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -5238,7 +5234,7 @@
"@executable_path/../../Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.enterprise.ShareExtension;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.enterprise.ShareExtension;
PRODUCT_NAME = ShareExtension;
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -5290,7 +5286,7 @@
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NFZL2NT288;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -5320,10 +5316,10 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.Widgets;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.Widgets;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Klar.Widgets";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT me.whydontyoulove.ios.webviewer.Klar.Widgets";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
@@ -5368,13 +5364,12 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CODE_SIGN_STYLE = Manual;
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -5397,10 +5392,9 @@
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.Widgets;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.Widgets;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Focus.Widgets";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -5452,7 +5446,7 @@
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -5475,9 +5469,9 @@
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.Widgets;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.Widgets;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Klar.Widgets";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Klar.Widgets";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -5529,7 +5523,7 @@
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -5552,9 +5546,9 @@
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.Widgets;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.Widgets;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Focus.Widgets";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Focus.Widgets";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -5628,7 +5622,7 @@
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.Widgets;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.Widgets;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -5704,7 +5698,7 @@
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.Widgets;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.Widgets;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -5787,13 +5781,14 @@
ENABLE_NS_ASSERTIONS = YES;
HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
INFOPLIST_FILE = Blockzilla/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.enterprise;
- PRODUCT_NAME = "Firefox Focus";
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.enterprise;
+ PRODUCT_NAME = "Web Viewer";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = FOCUS;
SWIFT_VERSION = 5.0;
VALID_ARCHS = "$(ARCHS_STANDARD)";
@@ -5813,7 +5808,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.enterprise.ContentBlocker;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.enterprise.ContentBlocker;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
@@ -5890,12 +5885,13 @@
ENABLE_NS_ASSERTIONS = YES;
HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
INFOPLIST_FILE = Blockzilla/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.enterprise;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.enterprise;
PRODUCT_NAME = "Firefox Klar";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = KLAR;
SWIFT_VERSION = 5.0;
@@ -5916,7 +5912,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.enterprise.ContentBlocker;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.enterprise.ContentBlocker;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
@@ -6013,7 +6009,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -6048,22 +6044,20 @@
BUNDLE_ID_SUFFIX = .dev;
CODE_SIGN_ENTITLEMENTS = Focus.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CODE_SIGN_STYLE = Manual;
- DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
INFOPLIST_FILE = Blockzilla/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus;
- PRODUCT_NAME = "Firefox Focus";
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus;
+ PRODUCT_NAME = "Web Viewer";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Focus";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "FOCUS DEBUG";
SWIFT_VERSION = 5.0;
VALID_ARCHS = "$(ARCHS_STANDARD)";
@@ -6074,9 +6068,9 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Focus.entitlements;
- CODE_SIGN_STYLE = Manual;
- DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = NFZL2NT288;
INFOPLIST_FILE = ContentBlocker/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -6084,10 +6078,9 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ContentBlocker;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ContentBlocker;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Focus.ContentBlocker";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "FOCUS DEBUG";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
@@ -6129,7 +6122,7 @@
CODE_SIGN_IDENTITY = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -6161,19 +6154,20 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
INFOPLIST_FILE = Blockzilla/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus;
- PRODUCT_NAME = "Firefox Focus";
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus;
+ PRODUCT_NAME = "Web Viewer";
PROVISIONING_PROFILE = "a0e006fd-308f-466b-8037-c39e3e78188e";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Focus";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Focus";
SWIFT_VERSION = 5.0;
VALID_ARCHS = "$(ARCHS_STANDARD)";
};
@@ -6186,7 +6180,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
INFOPLIST_FILE = ContentBlocker/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -6194,10 +6188,10 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ContentBlocker;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ContentBlocker;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "c9ecd7a2-c454-4991-a6d0-fcea18c3a475";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Focus.ContentBlocker";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Focus.ContentBlocker";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
VALID_ARCHS = "$(ARCHS_STANDARD)";
@@ -6239,7 +6233,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -6266,7 +6260,7 @@
);
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ClientTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "KLAR DEBUG";
@@ -6312,7 +6306,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -6332,7 +6326,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ClientTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "FOCUS DEBUG";
@@ -6379,7 +6373,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -6399,7 +6393,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ClientTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -6446,7 +6440,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -6466,7 +6460,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ClientTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -6533,7 +6527,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ClientTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -6600,7 +6594,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Focus.ClientTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Focus.ClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -6640,7 +6634,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -6666,7 +6660,7 @@
);
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.blockzilla.ScreenshotTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.blockzilla.ScreenshotTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "KLAR DEBUG";
@@ -6700,7 +6694,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -6719,7 +6713,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.blockzilla.ScreenshotTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.blockzilla.ScreenshotTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "FOCUS DEBUG";
@@ -6754,7 +6748,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -6773,7 +6767,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.blockzilla.ScreenshotTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.blockzilla.ScreenshotTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -6808,7 +6802,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -6827,7 +6821,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.blockzilla.ScreenshotTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.blockzilla.ScreenshotTests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
@@ -6881,7 +6875,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.blockzilla.ScreenshotTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.blockzilla.ScreenshotTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -6934,7 +6928,7 @@
"@loader_path/Frameworks",
);
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.blockzilla.ScreenshotTests;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.blockzilla.ScreenshotTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -6978,7 +6972,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -7039,7 +7033,7 @@
CODE_SIGN_IDENTITY = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -7068,21 +7062,21 @@
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon${BUNDLE_ID_SUFFIX}";
BUNDLE_ID_SUFFIX = .dev;
CODE_SIGN_ENTITLEMENTS = Klar.entitlements;
- CODE_SIGN_STYLE = Manual;
- DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
INFOPLIST_FILE = Blockzilla/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar;
PRODUCT_NAME = "Firefox Klar";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Klar";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "KLAR DEBUG";
SWIFT_VERSION = 5.0;
VALID_ARCHS = "$(ARCHS_STANDARD)";
@@ -7098,19 +7092,20 @@
CODE_SIGN_ENTITLEMENTS = Klar.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
INFOPLIST_FILE = Blockzilla/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar;
PRODUCT_NAME = "Firefox Klar";
PROVISIONING_PROFILE = "3d0198ab-c4fb-4dd9-8140-927873f44e85";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Klar";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Klar";
SWIFT_VERSION = 5.0;
VALID_ARCHS = "$(ARCHS_STANDARD)";
};
@@ -7122,7 +7117,7 @@
CODE_SIGN_ENTITLEMENTS = Klar.entitlements;
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = "";
- "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 43AQ936H96;
+ "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NFZL2NT288;
INFOPLIST_FILE = ContentBlocker/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -7130,10 +7125,10 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.ContentBlocker;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.ContentBlocker;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT org.mozilla.ios.Klar.ContentBlocker";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "BT me.whydontyoulove.ios.webviewer.Klar.ContentBlocker";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "KLAR DEBUG";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
@@ -7147,7 +7142,7 @@
CODE_SIGN_ENTITLEMENTS = Klar.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
- DEVELOPMENT_TEAM = 43AQ936H96;
+ DEVELOPMENT_TEAM = NFZL2NT288;
INFOPLIST_FILE = ContentBlocker/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -7155,10 +7150,10 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.mozilla.ios.Klar.ContentBlocker;
+ PRODUCT_BUNDLE_IDENTIFIER = me.whydontyoulove.ios.webviewer.Klar.ContentBlocker;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "2255b2ac-3bcf-4a39-99f9-fd5ccf21c3c9";
- PROVISIONING_PROFILE_SPECIFIER = "bitrise org.mozilla.ios.Klar.ContentBlocker";
+ PROVISIONING_PROFILE_SPECIFIER = "bitrise me.whydontyoulove.ios.webviewer.Klar.ContentBlocker";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 5.0;
VALID_ARCHS = "$(ARCHS_STANDARD)";
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ContentBlocker.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ContentBlocker.xcscheme
index d610dbb8592e7..e0d0da4739ad5 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ContentBlocker.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ContentBlocker.xcscheme
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
@@ -81,7 +81,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus (Enterprise).xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus (Enterprise).xcscheme
index ea725a7902d3a..da19cfa79fa2d 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus (Enterprise).xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus (Enterprise).xcscheme
@@ -15,7 +15,7 @@
@@ -32,7 +32,7 @@
@@ -81,7 +81,7 @@
@@ -98,7 +98,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus.xcscheme
index 0d18216b190b7..b364077fe5a95 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Focus.xcscheme
@@ -15,7 +15,7 @@
@@ -45,7 +45,7 @@
@@ -146,7 +146,7 @@
@@ -163,7 +163,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusIntentExtension.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusIntentExtension.xcscheme
index 010592161e481..b8e33bb9642e2 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusIntentExtension.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusIntentExtension.xcscheme
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
@@ -81,7 +81,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusMarketingTests.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusMarketingTests.xcscheme
index b14b0e9fa93a8..775b03246de0c 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusMarketingTests.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusMarketingTests.xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -69,7 +69,7 @@
@@ -86,7 +86,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusSnapshotTests.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusSnapshotTests.xcscheme
index 60d4f95eeebe3..95a2bf0bf7646 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusSnapshotTests.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusSnapshotTests.xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -64,7 +64,7 @@
@@ -81,7 +81,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusWidgetsExtension.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusWidgetsExtension.xcscheme
index d4b1d149dd21a..e8b0a5b20bb86 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusWidgetsExtension.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/FocusWidgetsExtension.xcscheme
@@ -30,7 +30,7 @@
@@ -72,7 +72,7 @@
@@ -101,13 +101,14 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES"
+ askForAppToLaunch = "Yes"
launchAutomaticallySubstyle = "2">
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar (Enterprise).xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar (Enterprise).xcscheme
index 7deb6286d673f..1aee19e35a98e 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar (Enterprise).xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar (Enterprise).xcscheme
@@ -15,7 +15,7 @@
@@ -32,7 +32,7 @@
@@ -66,7 +66,7 @@
@@ -83,7 +83,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar.xcscheme
index a4c3f2adc42ec..e1a4e53d183bc 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/Klar.xcscheme
@@ -15,7 +15,7 @@
@@ -45,7 +45,7 @@
@@ -106,7 +106,7 @@
@@ -123,7 +123,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarMarketingTests.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarMarketingTests.xcscheme
index e39e9cec89adb..0bc81f2121a8d 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarMarketingTests.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarMarketingTests.xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -70,7 +70,7 @@
@@ -87,7 +87,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarSnapshotTests.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarSnapshotTests.xcscheme
index 7a05d60c93d8f..129218d3a7166 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarSnapshotTests.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/KlarSnapshotTests.xcscheme
@@ -15,7 +15,7 @@
@@ -31,7 +31,7 @@
@@ -70,7 +70,7 @@
@@ -87,7 +87,7 @@
diff --git a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ShareExtension.xcscheme b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ShareExtension.xcscheme
index ea3571daa0765..b1423f74d9142 100644
--- a/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ShareExtension.xcscheme
+++ b/focus-ios/Blockzilla.xcodeproj/xcshareddata/xcschemes/ShareExtension.xcscheme
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
@@ -81,7 +81,7 @@
diff --git a/focus-ios/Blockzilla/AppDelegate.swift b/focus-ios/Blockzilla/AppDelegate.swift
index 6a3eafc93d405..ff929b84014c1 100644
--- a/focus-ios/Blockzilla/AppDelegate.swift
+++ b/focus-ios/Blockzilla/AppDelegate.swift
@@ -81,7 +81,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
case .willResignActive:
guard privacyProtectionWindow == nil else { return }
- showPrivacyProtectionWindow()
+// showPrivacyProtectionWindow()
case .didEnterBackground:
authenticationManager.logout()
@@ -101,7 +101,8 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
self.hidePrivacyProtectionWindow()
case .loggedout:
- self.showPrivacyProtectionWindow()
+// self.showPrivacyProtectionWindow()
+ break
case .canceled:
break
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/Contents.json b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/Contents.json
index 28d9cc7aae2e0..a690abe713c90 100644
--- a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/Contents.json
+++ b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/Contents.json
@@ -1,153 +1,33 @@
{
"images" : [
- {
- "filename" : "notification-icon@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "20x20"
- },
- {
- "filename" : "notification-icon@3x.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "20x20"
- },
- {
- "filename" : "icon-small.png",
- "idiom" : "iphone",
- "scale" : "1x",
- "size" : "29x29"
- },
- {
- "filename" : "icon-small@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "29x29"
- },
- {
- "filename" : "icon-small@3x.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "29x29"
- },
- {
- "filename" : "icon-40@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "40x40"
- },
- {
- "filename" : "icon-40@3x.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "40x40"
- },
{
"filename" : "icon.png",
- "idiom" : "iphone",
- "scale" : "1x",
- "size" : "57x57"
- },
- {
- "filename" : "icon@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "57x57"
- },
- {
- "filename" : "icon-60@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "60x60"
- },
- {
- "filename" : "icon-60@3x.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "60x60"
- },
- {
- "filename" : "notification-icon~ipad.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "20x20"
- },
- {
- "filename" : "notification-icon~ipad@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "20x20"
- },
- {
- "filename" : "icon-small.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "29x29"
- },
- {
- "filename" : "icon-small@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "29x29"
- },
- {
- "filename" : "icon-40.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "40x40"
- },
- {
- "filename" : "icon-40@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "40x40"
- },
- {
- "filename" : "icon-small-50.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "50x50"
- },
- {
- "filename" : "icon-small-50@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "50x50"
- },
- {
- "filename" : "icon-72.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "72x72"
- },
- {
- "filename" : "icon-72@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "72x72"
- },
- {
- "filename" : "icon-76.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "76x76"
- },
- {
- "filename" : "icon-76@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "76x76"
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
},
{
- "filename" : "icon-83.5@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "83.5x83.5"
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "icon-dark.png",
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
},
{
- "filename" : "ios-marketing.png",
- "idiom" : "ios-marketing",
- "scale" : "1x",
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "tinted"
+ }
+ ],
+ "filename" : "icon-tinted.png",
+ "idiom" : "universal",
+ "platform" : "ios",
"size" : "1024x1024"
}
],
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40.png
deleted file mode 100644
index 599cd063b3c73..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40@2x.png
deleted file mode 100644
index 6a40c92d0500f..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40@3x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40@3x.png
deleted file mode 100644
index da8145ffef92b..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-40@3x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-60@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-60@2x.png
deleted file mode 100644
index da8145ffef92b..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-60@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-60@3x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-60@3x.png
deleted file mode 100644
index a23aad53a65c0..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-60@3x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-72.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-72.png
deleted file mode 100644
index ef967b8ad5e0b..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-72.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-72@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-72@2x.png
deleted file mode 100644
index 0259bc9e0f6dc..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-72@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-76.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-76.png
deleted file mode 100644
index 193f97c343ef5..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-76.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-76@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-76@2x.png
deleted file mode 100644
index 8481ad21acc1b..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-76@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-83.5@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-83.5@2x.png
deleted file mode 100644
index d34e41314966e..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-83.5@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-dark.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-dark.png
new file mode 100644
index 0000000000000..b7d3f4d670469
Binary files /dev/null and b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-dark.png differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small-50.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small-50.png
deleted file mode 100644
index d0dcba4a28f53..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small-50.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small-50@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small-50@2x.png
deleted file mode 100644
index 9bf00cf18e3db..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small-50@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small.png
deleted file mode 100644
index 37fbbd2dc89f7..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small@2x.png
deleted file mode 100644
index d6eb9a7cca207..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small@3x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small@3x.png
deleted file mode 100644
index ccee0678a826e..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-small@3x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-tinted.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-tinted.png
new file mode 100644
index 0000000000000..0350d499ae26c
Binary files /dev/null and b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon-tinted.png differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon.png
index 6cfb9f19bade3..0350d499ae26c 100644
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon.png and b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon.png differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon@2x.png
deleted file mode 100644
index abca9b992c79f..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/icon@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/ios-marketing.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/ios-marketing.png
deleted file mode 100644
index c3eb58849094d..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/ios-marketing.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon@2x.png
deleted file mode 100644
index 599cd063b3c73..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon@3x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon@3x.png
deleted file mode 100644
index d708a3c63d3ee..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon@3x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon~ipad.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon~ipad.png
deleted file mode 100644
index bb944e974442f..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon~ipad.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon~ipad@2x.png b/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon~ipad@2x.png
deleted file mode 100644
index 599cd063b3c73..0000000000000
Binary files a/focus-ios/Blockzilla/Assets.xcassets/AppIcon.dev.appiconset/notification-icon~ipad@2x.png and /dev/null differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone - Splash@2x.png b/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone - Splash@2x.png
index fcee15a4d001a..7aed55917de6c 100644
Binary files a/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone - Splash@2x.png and b/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone - Splash@2x.png differ
diff --git a/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone_Production_Mode_Portrait.png b/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone_Production_Mode_Portrait.png
index 9a7a31b0d32b8..1e033baab0ff4 100644
Binary files a/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone_Production_Mode_Portrait.png and b/focus-ios/Blockzilla/Assets.xcassets/background_iphone_portrait.imageset/iPhone_Production_Mode_Portrait.png differ
diff --git a/focus-ios/Blockzilla/BrowserViewController.swift b/focus-ios/Blockzilla/BrowserViewController.swift
index e6b604cdea251..dcdfa262ec8ed 100644
--- a/focus-ios/Blockzilla/BrowserViewController.swift
+++ b/focus-ios/Blockzilla/BrowserViewController.swift
@@ -79,7 +79,7 @@ final class BrowserViewController: UIViewController {
private var homeViewContainer = UIView()
- fileprivate var showsToolsetInURLBar = false {
+ fileprivate var showsToolsetInURLBar = true {
didSet {
if showsToolsetInURLBar {
browserBottomConstraint.deactivate()
@@ -138,7 +138,6 @@ final class BrowserViewController: UIViewController {
}
fileprivate func addShortcutsBackgroundConstraints() {
- shortcutsBackground.backgroundColor = isIPadRegularDimensions ? .systemBackground.withAlphaComponent(0.85) : .foundation
shortcutsBackground.layer.cornerRadius = isIPadRegularDimensions ? 10 : 0
if isIPadRegularDimensions {
@@ -263,7 +262,7 @@ final class BrowserViewController: UIViewController {
alertStackView.alignment = .center
// true if device is an iPad or is an iPhone in landscape mode
- showsToolsetInURLBar = (UIDevice.current.userInterfaceIdiom == .pad && (UIScreen.main.bounds.width == view.frame.size.width || view.frame.size.width > view.frame.size.height)) || (UIDevice.current.userInterfaceIdiom == .phone && view.frame.size.width > view.frame.size.height)
+ showsToolsetInURLBar = true
containWebView()
createHomeView()
@@ -335,31 +334,7 @@ final class BrowserViewController: UIViewController {
}
func controller(for route: ToolTipRoute) -> UIViewController? {
- switch route {
- case .trackingProtectionShield(let version):
- return handleTrackingProtectionShieldAction(version: version)
-
- case .trash(let version):
- return handleTrashAction(version: version)
-
- case .searchBar:
- return handleSearchBarAction()
-
- case .onboarding(let onboardingType):
- return handleOnboardingAction(onboardingType: onboardingType)
-
- case .trackingProtection:
- return nil
-
- case .widget:
- return handleWidgetAction()
-
- case .menu:
- return handleMenuAction()
-
- case .widgetTutorial:
- return handleWidgetTutorialAction()
- }
+ return nil
}
private func handleTrackingProtectionShieldAction(version: OnboardingVersion) -> UIViewController? {
@@ -894,44 +869,7 @@ final class BrowserViewController: UIViewController {
}
func requestReviewIfNecessary() {
- if AppInfo.isTesting() { return }
- let currentLaunchCount = UserDefaults.standard.integer(forKey: UIConstants.strings.userDefaultsLaunchCountKey)
- let threshold = UserDefaults.standard.integer(forKey: UIConstants.strings.userDefaultsLaunchThresholdKey)
-
- if threshold == 0 {
- UserDefaults.standard.set(14, forKey: UIConstants.strings.userDefaultsLaunchThresholdKey)
- return
- }
-
- // Make sure the request isn't within 90 days of last request
- let minimumDaysBetweenReviewRequest = 90
- let daysSinceLastRequest: Int
- if let previousRequest = UserDefaults.standard.object(forKey: UIConstants.strings.userDefaultsLastReviewRequestDate) as? Date {
- daysSinceLastRequest = Calendar.current.dateComponents([.day], from: previousRequest, to: Date()).day ?? 0
- } else {
- // No previous request date found, meaning we've never asked for a review
- daysSinceLastRequest = minimumDaysBetweenReviewRequest
- }
-
- if currentLaunchCount <= threshold || daysSinceLastRequest < minimumDaysBetweenReviewRequest {
- return
- }
-
- UserDefaults.standard.set(Date(), forKey: UIConstants.strings.userDefaultsLastReviewRequestDate)
-
- // Increment the threshold by 50 so the user is not constantly pestered with review requests
- switch threshold {
- case 14:
- UserDefaults.standard.set(64, forKey: UIConstants.strings.userDefaultsLaunchThresholdKey)
- case 64:
- UserDefaults.standard.set(114, forKey: UIConstants.strings.userDefaultsLaunchThresholdKey)
- default:
- break
- }
-
- if let scene = UIApplication.shared.connectedScenes.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
- SKStoreReviewController.requestReview(in: scene)
- }
+ return
}
private func showSiriFavoriteSettings() {
@@ -1019,7 +957,7 @@ final class BrowserViewController: UIViewController {
orientationWillChange = true
// UIDevice.current.orientation isn't reliable. See https://bugzilla.mozilla.org/show_bug.cgi?id=1315370#c5
// As a workaround, consider the phone to be in landscape if the new width is greater than the height.
- showsToolsetInURLBar = (UIDevice.current.userInterfaceIdiom == .pad && (UIScreen.main.bounds.width == size.width || size.width > size.height)) || (UIDevice.current.userInterfaceIdiom == .phone && size.width > size.height)
+ showsToolsetInURLBar = true
// isIPadRegularDimensions check if the device is a Ipad and the app is not in split mode
isIPadRegularDimensions = ((UIDevice.current.userInterfaceIdiom == .pad && (UIScreen.main.bounds.width == size.width || size.width > size.height))) || (UIDevice.current.userInterfaceIdiom == .pad && UIApplication.shared.orientation?.isPortrait == true && UIScreen.main.bounds.width == size.width)
@@ -1103,7 +1041,7 @@ final class BrowserViewController: UIViewController {
}
private func toggleURLBarBackground(isBright: Bool) {
- urlBarContainer.backgroundColor = urlBar.inBrowsingMode ? .foundation : .clear
+ urlBarContainer.backgroundColor = .clear
}
override var keyCommands: [UIKeyCommand]? {
@@ -1169,12 +1107,6 @@ final class BrowserViewController: UIViewController {
if let url = urlBar.url {
let utils = OpenUtils(url: url, webViewController: webViewController)
- getShortcutsItem(for: url)
- .map(UIAction.init)
- .map { UIMenu(options: .displayInline, children: [$0]) }
- .map {
- actions.append($0)
- }
var actionItems: [UIMenuElement] = [UIAction(findInPageItem)]
actionItems.append(
@@ -1188,8 +1120,6 @@ final class BrowserViewController: UIViewController {
var shareItems: [UIMenuElement?] = [UIAction(copyItem(url: url))]
shareItems.append(UIAction(sharePageItem(for: utils, sender: sender)))
- shareItems.append(openInFireFoxItem(for: url).map(UIAction.init))
- shareItems.append(openInChromeItem(for: url).map(UIAction.init))
shareItems.append(UIAction(openInDefaultBrowserItem(for: url)))
let shareMenu = UIMenu(options: .displayInline, children: shareItems.compactMap { $0 })
@@ -1208,8 +1138,6 @@ final class BrowserViewController: UIViewController {
if let url = urlBar.url {
let utils = OpenUtils(url: url, webViewController: webViewController)
- actions.append([getShortcutsItem(for: url).map(PhotonActionSheetItem.init)].compactMap { $0 })
-
var actionItems = [PhotonActionSheetItem(findInPageItem)]
actionItems.append(
webViewController.requestMobileSite
@@ -1219,9 +1147,6 @@ final class BrowserViewController: UIViewController {
var shareItems: [PhotonActionSheetItem?] = [PhotonActionSheetItem(copyItem(url: url))]
shareItems.append(PhotonActionSheetItem(sharePageItem(for: utils, sender: sender)))
- shareItems.append(openInFireFoxItem(for: url).map(PhotonActionSheetItem.init))
- shareItems.append(openInChromeItem(for: url).map(PhotonActionSheetItem.init))
- shareItems.append(PhotonActionSheetItem(openInDefaultBrowserItem(for: url)))
actions.append(actionItems)
actions.append(shareItems.compactMap { $0 })
@@ -1364,20 +1289,10 @@ extension BrowserViewController: URLBarDelegate {
switch scrollBarState {
case .expanded:
- let y = tap.location(in: urlBar).y
-
- // If the tap is greater than this threshold, the user wants to type in the URL bar
- if y >= 10 {
- urlBar.activateTextField()
- return
+ if let url = urlBar.url {
+ let utils = OpenUtils(url: url, webViewController: webViewController)
+ showSharePage(for: utils, sender: urlBar)
}
-
- // FXIOS-8635 - #19155 Integrate EngineSession scrolling to top in Focus iOS
- // Just scroll the vertical position so the page doesn't appear under
- // the notch on the iPhone X
- var point = webViewController.scrollView.contentOffset
- point.y = 0
- webViewController.scrollView.setContentOffset(point, animated: true)
case .collapsed: showToolbars()
default: break
}
diff --git a/focus-ios/Blockzilla/HomeViewController.swift b/focus-ios/Blockzilla/HomeViewController.swift
index cc2e0f2a3cf07..5fddf889094a8 100644
--- a/focus-ios/Blockzilla/HomeViewController.swift
+++ b/focus-ios/Blockzilla/HomeViewController.swift
@@ -110,7 +110,7 @@ final class HomeViewController: UIViewController {
if UIDevice.current.userInterfaceIdiom == .pad {
// On iPad in landscape we only show the tips.
hideTextLogo()
- showTips()
+ hideTips()
} else {
// On iPhone in landscape we show neither.
hideTextLogo()
@@ -118,8 +118,8 @@ final class HomeViewController: UIViewController {
}
} else {
// In portrait on any form factor we show both.
- showTextLogo()
- showTips()
+ hideTextLogo()
+ hideTips()
}
}
diff --git a/focus-ios/Blockzilla/Info.plist b/focus-ios/Blockzilla/Info.plist
index 538b46d267cb7..e7c6e6e9b0293 100644
--- a/focus-ios/Blockzilla/Info.plist
+++ b/focus-ios/Blockzilla/Info.plist
@@ -42,6 +42,7 @@
googlechromes
googlechrome
firefox
+ echodotapp
LSRequiresIPhoneOS
diff --git a/focus-ios/Blockzilla/LaunchScreen.storyboard b/focus-ios/Blockzilla/LaunchScreen.storyboard
index 4b10751f4a8a3..a852092c235ad 100644
--- a/focus-ios/Blockzilla/LaunchScreen.storyboard
+++ b/focus-ios/Blockzilla/LaunchScreen.storyboard
@@ -1,10 +1,10 @@
-
+
-
-
+
+
@@ -19,18 +19,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -39,9 +28,8 @@
-
-
-
-
+
+
+
diff --git a/focus-ios/Blockzilla/Lib/RequestHandler/RequestHandler.swift b/focus-ios/Blockzilla/Lib/RequestHandler/RequestHandler.swift
index 8cc16ff49eb59..1dee410a74079 100644
--- a/focus-ios/Blockzilla/Lib/RequestHandler/RequestHandler.swift
+++ b/focus-ios/Blockzilla/Lib/RequestHandler/RequestHandler.swift
@@ -59,6 +59,34 @@ final class RequestHandler {
}
switch host {
+ case "twitter.com", "www.twitter.com", "mobile.twitter.com", "x.com", "www.x.com", "mobile.x.com":
+ // Build deep link to Echo: echodotapp://
+ // Extract path + query + fragment from the original URL
+ var deepLinkString = "echodotapp://"
+ let pathComponent = url.path.trimmingCharacters(in: CharacterSet(charactersIn: "/"))
+ if !pathComponent.isEmpty {
+ deepLinkString += pathComponent
+ }
+ if let query = url.query, !query.isEmpty {
+ deepLinkString += "?" + query
+ }
+ if let fragment = url.fragment, !fragment.isEmpty {
+ deepLinkString += "#" + fragment
+ }
+
+ if let deepLinkURL = URL(string: deepLinkString, invalidCharacters: false) {
+ // Open directly if possible, otherwise fall back to in-app navigation
+ if UIApplication.shared.canOpenURL(deepLinkURL) {
+ UIApplication.shared.open(deepLinkURL, options: [:])
+ return false
+ } else {
+ // If iOS requires confirmation or the scheme isn't allowed, present confirmation to open Echo
+ let alert = RequestHandler.makeAlert(title: String(format: UIConstants.strings.externalAppLinkWithAppName, AppInfo.productName, "Echo"), action: UIConstants.strings.open, forURL: deepLinkURL)
+ alertCallback(alert)
+ return false
+ }
+ }
+ return true
case "maps.apple.com":
let alert = RequestHandler.makeAlert(title: String(format: UIConstants.strings.externalAppLinkWithAppName, AppInfo.productName, "Maps"), action: UIConstants.strings.open, forURL: url)
alertCallback(alert)
diff --git a/focus-ios/Blockzilla/Menu/Protocol/MenuItemProvider.swift b/focus-ios/Blockzilla/Menu/Protocol/MenuItemProvider.swift
index eb9a8414362a1..823810e4920eb 100644
--- a/focus-ios/Blockzilla/Menu/Protocol/MenuItemProvider.swift
+++ b/focus-ios/Blockzilla/Menu/Protocol/MenuItemProvider.swift
@@ -8,42 +8,18 @@ import AppShortcuts
protocol MenuItemProvider {
var shortcutManager: ShortcutsManager { get }
- func openInFireFoxItem(for url: URL) -> MenuAction?
- func openInChromeItem(for url: URL) -> MenuAction?
-
var findInPageItem: MenuAction { get }
var requestDesktopItem: MenuAction { get }
var requestMobileItem: MenuAction { get }
var settingsItem: MenuAction { get }
var helpItem: MenuAction { get }
- func getShortcutsItem(for url: URL) -> MenuAction?
- func addToShortcutsItem(for url: URL) -> MenuAction
- func removeFromShortcutsItem(for url: URL) -> MenuAction
-
func openInDefaultBrowserItem(for url: URL) -> MenuAction
func copyItem(url: URL) -> MenuAction
func sharePageItem(for utils: OpenUtils, sender: UIView) -> MenuAction
}
extension MenuItemProvider where Self: MenuActionable {
- func openInFireFoxItem(for url: URL) -> MenuAction? {
- canOpenInFirefox
-
- ? MenuAction(title: UIConstants.strings.shareOpenInFirefox, image: "open_in_firefox_icon") { [unowned self] in
- self.openInFirefox(url: url)
- }
- : nil
- }
-
- func openInChromeItem(for url: URL) -> MenuAction? {
- canOpenInChrome ?
- MenuAction(title: UIConstants.strings.shareOpenInChrome, image: "open_in_chrome_icon") { [unowned self] in
- self.openInChrome(url: url)
- }
- : nil
- }
-
var findInPageItem: MenuAction {
MenuAction(title: UIConstants.strings.shareMenuFindInPage, image: "icon_searchfor") { [unowned self] in
self.findInPage()
@@ -74,28 +50,6 @@ extension MenuItemProvider where Self: MenuActionable {
}
}
- func getShortcutsItem(for url: URL) -> MenuAction? {
- if shortcutManager.isSaved(url: url) {
- return removeFromShortcutsItem(for: url)
- } else if shortcutManager.hasSpace {
- return addToShortcutsItem(for: url)
- } else {
- return nil
- }
- }
-
- func addToShortcutsItem(for url: URL) -> MenuAction {
- MenuAction(title: UIConstants.strings.shareMenuAddToShortcuts, image: "icon_shortcuts_add") { [unowned self] in
- self.addToShortcuts(url: url)
- }
- }
-
- func removeFromShortcutsItem(for url: URL) -> MenuAction {
- MenuAction(title: UIConstants.strings.shareMenuRemoveFromShortcuts, image: "icon_shortcuts_remove") { [unowned self] in
- self.removeShortcut(url: url)
- }
- }
-
func openInDefaultBrowserItem(for url: URL) -> MenuAction {
MenuAction(title: UIConstants.strings.shareOpenInDefaultBrowser, image: "icon_favicon") { [unowned self] in
self.openInDefaultBrowser(url: url)
diff --git a/focus-ios/Blockzilla/Pro Tips/TipManager.swift b/focus-ios/Blockzilla/Pro Tips/TipManager.swift
index 648420d02df7d..0e80cfbcbb114 100644
--- a/focus-ios/Blockzilla/Pro Tips/TipManager.swift
+++ b/focus-ios/Blockzilla/Pro Tips/TipManager.swift
@@ -91,12 +91,11 @@ final class TipManager {
if laContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil) {
tips.append(biometricTip)
}
- return tips
+ return []
}
private var availableTips: [Tip] {
- guard Settings.getToggle(.showHomeScreenTips) else { return [] }
- return tips.filter { $0.canShow() }
+ return []
}
private let laContext = LAContext()
diff --git a/focus-ios/Blockzilla/UIComponents/BrowserToolbar.swift b/focus-ios/Blockzilla/UIComponents/BrowserToolbar.swift
index caef55bd3d93e..2c7dc2a428f0d 100644
--- a/focus-ios/Blockzilla/UIComponents/BrowserToolbar.swift
+++ b/focus-ios/Blockzilla/UIComponents/BrowserToolbar.swift
@@ -70,7 +70,7 @@ public final class BrowserToolbar: UIView {
bindViewModelEvents()
let background = UIView()
- background.backgroundColor = .foundation
+ background.backgroundColor = .clear
background.translatesAutoresizingMaskIntoConstraints = false
addSubview(background)
diff --git a/focus-ios/Blockzilla/UIComponents/SplashViewController.swift b/focus-ios/Blockzilla/UIComponents/SplashViewController.swift
index 885d5cd44d14b..fbcc61bbe1169 100644
--- a/focus-ios/Blockzilla/UIComponents/SplashViewController.swift
+++ b/focus-ios/Blockzilla/UIComponents/SplashViewController.swift
@@ -55,15 +55,10 @@ final class SplashViewController: UIViewController {
private func commonInit() {
view.backgroundColor = .launchScreenBackground
view.addSubview(authButton)
- view.addSubview(logoImage)
- logoImage.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
- logoImage.centerXAnchor.constraint(equalTo: view.centerXAnchor),
- logoImage.centerYAnchor.constraint(equalTo: view.centerYAnchor),
-
authButton.centerXAnchor.constraint(equalTo: view.centerXAnchor),
- authButton.topAnchor.constraint(equalTo: logoImage.topAnchor, constant: .authButtonTop),
+ authButton.topAnchor.constraint(equalTo: view.topAnchor, constant: .authButtonTop),
authButton.heightAnchor.constraint(equalToConstant: .authButtonHeight),
authButton.widthAnchor.constraint(equalToConstant: .authButtonWidth),
authButton.leadingAnchor.constraint(greaterThanOrEqualTo: view.leadingAnchor, constant: .authButtonInset),
diff --git a/focus-ios/Blockzilla/UIComponents/URLBar/URLBar.swift b/focus-ios/Blockzilla/UIComponents/URLBar/URLBar.swift
index 69d9ffa5369d6..dc6a2a4336b51 100644
--- a/focus-ios/Blockzilla/UIComponents/URLBar/URLBar.swift
+++ b/focus-ios/Blockzilla/UIComponents/URLBar/URLBar.swift
@@ -36,6 +36,7 @@ final class URLBar: UIView {
button.setContentCompressionResistancePriority(.required, for: .horizontal)
button.setContentHuggingPriority(.required, for: .horizontal)
button.isPointerInteractionEnabled = true
+ button.isHidden = true
return button
}()
@@ -43,7 +44,7 @@ final class URLBar: UIView {
private lazy var urlBarBorderView: UIView = {
let view = UIView()
- view.backgroundColor = .secondaryButton
+ view.backgroundColor = .clear
view.layer.cornerRadius = UIConstants.layout.urlBarCornerRadius
view.setContentCompressionResistancePriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
view.setContentHuggingPriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
@@ -51,12 +52,22 @@ final class URLBar: UIView {
}()
private lazy var urlBarBackgroundView: UIView = {
- let view = UIView()
- view.backgroundColor = .locationBar
- view.layer.cornerRadius = UIConstants.layout.urlBarCornerRadius
- view.setContentCompressionResistancePriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
- view.setContentHuggingPriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
- return view
+ if #available(iOS 26, *) {
+ let glassEffect = UIGlassEffect()
+ let effectView = UIVisualEffectView(effect: glassEffect)
+ effectView.layer.cornerRadius = UIConstants.layout.urlBarCornerRadius
+ effectView.clipsToBounds = true
+ effectView.setContentCompressionResistancePriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
+ effectView.setContentHuggingPriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
+ return effectView
+ } else {
+ let view = UIView()
+ view.backgroundColor = .clear
+ view.layer.cornerRadius = UIConstants.layout.urlBarCornerRadius
+ view.setContentCompressionResistancePriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
+ view.setContentHuggingPriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .horizontal)
+ return view
+ }
}()
private lazy var truncatedUrlText: UITextView = {
@@ -94,7 +105,6 @@ final class URLBar: UIView {
textField.setContentHuggingPriority(UILayoutPriority(rawValue: UIConstants.layout.urlBarLayoutPriorityRawValue), for: .vertical)
textField.autocompleteDelegate = self
textField.accessibilityIdentifier = "URLBar.urlText"
- textField.placeholder = UIConstants.strings.urlTextPlaceholder
textField.isUserInteractionEnabled = false
return textField
}()
@@ -326,7 +336,11 @@ final class URLBar: UIView {
addSubview(forwardButton)
addSubview(deleteButton)
addSubview(contextMenuButton)
- urlBarBackgroundView.addSubview(textAndLockContainer)
+ if let effectView = urlBarBackgroundView as? UIVisualEffectView {
+ effectView.contentView.addSubview(textAndLockContainer)
+ } else {
+ urlBarBackgroundView.addSubview(textAndLockContainer)
+ }
addSubview(cancelButton)
textAndLockContainer.addSubview(stopReloadButton)
addSubview(urlBarBorderView)
@@ -685,9 +699,6 @@ final class URLBar: UIView {
@objc
public func activateTextField() {
- urlTextField.isUserInteractionEnabled = true
- urlTextField.becomeFirstResponder()
- isEditing = true
}
private func displayClearButton(shouldDisplay: Bool, animated: Bool = true) {
@@ -850,12 +861,12 @@ final class URLBar: UIView {
compressBar = isIPadRegularDimensions ? false : true
showBackgroundView = true
- shieldIcon.animateHidden(false, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
+ shieldIcon.animateHidden(true, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
cancelButton.animateHidden(true, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
setTextToURL()
deactivate()
- borderColor = .foundation
+ borderColor = .clear
backgroundColor = .clear
case .browsing:
@@ -863,11 +874,11 @@ final class URLBar: UIView {
compressBar = isIPadRegularDimensions ? false : true
showBackgroundView = false
- shieldIcon.animateHidden(false, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
+ shieldIcon.animateHidden(true, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
cancelButton.animateHidden(true, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
setTextToURL()
- borderColor = .foundation
+ borderColor = .clear
backgroundColor = .clear
editingURLTextConstrains.forEach { $0.deactivate() }
@@ -896,7 +907,7 @@ final class URLBar: UIView {
shieldIcon.animateHidden(true, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
cancelButton.animateHidden(isIPadRegularDimensions ? true : false, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
contextMenuButton.isEnabled = true
- borderColor = .foundation
+ borderColor = .clear
backgroundColor = .clear
}
@@ -1016,14 +1027,10 @@ final class URLBar: UIView {
let isHidden: Bool
switch state {
- case .default:
+ case .browsing, .editing, .default:
isHidden = true
showToolset = false
centerURLBar = false
- case .browsing, .editing:
- isHidden = !shouldShowToolset
- showToolset = !isHidden && inBrowsingMode
- centerURLBar = shouldShowToolset
}
backButton.animateHidden(isHidden, duration: UIConstants.layout.urlBarTransitionAnimationDuration)
@@ -1139,9 +1146,9 @@ final class URLBar: UIView {
contextMenuButton.alpha = expandAlpha
if isEditing {
- shieldIcon.alpha = collapseAlpha
+ shieldIcon.alpha = 0
} else {
- shieldIcon.alpha = expandAlpha
+ shieldIcon.alpha = 0
}
self.layoutIfNeeded()
diff --git a/focus-ios/Blockzilla/be.lproj/Localizable.strings b/focus-ios/Blockzilla/be.lproj/Localizable.strings
index db6d123f5878d..e3506dac05649 100644
--- a/focus-ios/Blockzilla/be.lproj/Localizable.strings
+++ b/focus-ios/Blockzilla/be.lproj/Localizable.strings
@@ -322,15 +322,24 @@
/* Description associated with the Crash Reports toggle on settings screen */
"Settings.detailTextCrashReports.V2" = "Гэта дапамагае нам дыягнаставаць і выпраўляць праблемы з браўзерам.";
+/* Description associated to the Rollouts toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextRollouts" = "%@ палепшыць магчымасці, плён і стабільнасць паміж абнаўленнямі. Змены ўносяцца дыстанцыйна.";
+
/* Description associated to the Search Suggestions toggle on main screen. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
"Settings.detailTextSearchSuggestion" = "%@ будзе адпраўляць правайдару пошуку тэкст, які вы ўводзіце ў адрасны радок.";
/* Description associated to the Send Usage Data toggle on main screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
"Settings.detailTextSendUsageData" = "Mozilla імкнецца збіраць толькі тыя звесткі, якія патрэбны для работы і паляпшэння %@ для ўсіх.";
+/* Description associated to the Send Usage Data toggle on main screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextSendUsageData.v2" = "Mozilla імкнецца збіраць толькі тое, што трэба для работы і паляпшэння %@ для ўсіх.";
+
/* Description associated to the Studies toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
"Settings.detailTextStudies" = "%@ можа час ад часу ўсталёўваць і выконваць даследаванні.";
+/* Description associated to the Studies toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextStudies.v2" = "%@ адвольна выбірае карыстальнікаў для тэстаў функцыяў, каб палепшыць іхную якасць для ўсіх.";
+
/* Title for section in settings menu */
"Settings.general" = "Агульныя";
@@ -439,6 +448,9 @@
/* Show home screen tips toggle label on settings screen */
"Settings.toggleHomeScreenTips" = "Паказваць парады на галоўным экране";
+/* Label for Rollouts toggle on the settings screen */
+"Settings.toggleRollouts" = "Дазволіць аддаленыя паляпшэнні";
+
/* Safari toggle label on settings screen */
"Settings.toggleSafari" = "Safari";
@@ -448,6 +460,9 @@
/* Label for Studies toggle on the settings screen */
"Settings.toggleStudies" = "Даследаванні";
+/* Label for Studies toggle on the settings screen */
+"Settings.toggleStudies.v2" = "Дазволіць удзел у доследу функцыяў";
+
/* Label for toggle on settings screen */
"Settings.toggleTouchID" = "Выкарыстоўваць Touch ID для разблакіравання праграмы";
diff --git a/focus-ios/Blockzilla/cs.lproj/Localizable.strings b/focus-ios/Blockzilla/cs.lproj/Localizable.strings
index d273adb385a08..baa59cfa7caec 100644
--- a/focus-ios/Blockzilla/cs.lproj/Localizable.strings
+++ b/focus-ios/Blockzilla/cs.lproj/Localizable.strings
@@ -314,7 +314,7 @@
"Settings.DailyUsagePing.Message" = "Toto Mozille pomáhá odhadnout počet aktivních uživatelů.";
/* On the Settings screen, this is the title text for a toggle which controls automatically sending daily usage ping. */
-"Settings.DailyUsagePing.Title" = "Ping denního používání";
+"Settings.DailyUsagePing.Title" = "Denní ping o používání";
/* Dark theme option in settings menu */
"Settings.darkTheme" = "Tmavý";
diff --git a/focus-ios/Blockzilla/eo.lproj/Localizable.strings b/focus-ios/Blockzilla/eo.lproj/Localizable.strings
index e9817ab90c14e..25ed46061e60b 100644
--- a/focus-ios/Blockzilla/eo.lproj/Localizable.strings
+++ b/focus-ios/Blockzilla/eo.lproj/Localizable.strings
@@ -322,15 +322,24 @@
/* Description associated with the Crash Reports toggle on settings screen */
"Settings.detailTextCrashReports.V2" = "Tio ĉi helpas nin diagnozi kaj solvi problemojn en la retumilo.";
+/* Description associated to the Rollouts toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextRollouts" = "%@ plibonigos trajtojn, efikecon kaj stabilecon inter ĝisdatigoj. La ŝanĝoj estos aplikitaj elfore.";
+
/* Description associated to the Search Suggestions toggle on main screen. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
"Settings.detailTextSearchSuggestion" = "%@ sendos tion, kion vi tajpas en la adresa strio, al via serĉilo.";
/* Description associated to the Send Usage Data toggle on main screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
"Settings.detailTextSendUsageData" = "Mozilla penas kolekti nur la datumojn nepre bezonatajn por provizi kaj plibonigi %@ por ĉiuj.";
+/* Description associated to the Send Usage Data toggle on main screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextSendUsageData.v2" = "Mozilla penas kolekti nur la datumojn nepre bezonatajn por provizi kaj plibonigi %@ por ĉiuj.";
+
/* Description associated to the Studies toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
"Settings.detailTextStudies" = "%@ povas de tempo al tempo instali kaj fari studojn.";
+/* Description associated to the Studies toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextStudies.v2" = "%@ hazarde elektas uzantojn por testi trajtojn, kio plibonigas kvaliton por ĉiuj.";
+
/* Title for section in settings menu */
"Settings.general" = "Ĝenerala";
@@ -439,6 +448,9 @@
/* Show home screen tips toggle label on settings screen */
"Settings.toggleHomeScreenTips" = "Montri konsiletojn en la hejmekrano";
+/* Label for Rollouts toggle on the settings screen */
+"Settings.toggleRollouts" = "Permesi elforajn plibonigojn";
+
/* Safari toggle label on settings screen */
"Settings.toggleSafari" = "Safari";
@@ -448,6 +460,9 @@
/* Label for Studies toggle on the settings screen */
"Settings.toggleStudies" = "Studoj";
+/* Label for Studies toggle on the settings screen */
+"Settings.toggleStudies.v2" = "Permesi trajtajn studojn";
+
/* Label for toggle on settings screen */
"Settings.toggleTouchID" = "Malbloki programon per Touch ID";
diff --git a/focus-ios/Blockzilla/gd.lproj/Localizable.strings b/focus-ios/Blockzilla/gd.lproj/Localizable.strings
index 8acb90ac0e1fc..e21236c4a613b 100644
--- a/focus-ios/Blockzilla/gd.lproj/Localizable.strings
+++ b/focus-ios/Blockzilla/gd.lproj/Localizable.strings
@@ -181,6 +181,12 @@
/* Button label used to close a menu that displays as a popup. */
"Menu.Close" = "Dùin";
+/* Error message shown when no internet connection is available */
+"Network.Offline.ErrorMessage" = "Tha coltas nach eil ceangal ris an eadar-lìon.";
+
+/* Button text for retrying network connection */
+"Network.Offline.RetryButton" = "Feuch ris a-rithist";
+
/* Text for a label that indicates the title of button from onboarding screen version 2. */
"NewOnboarding.Button.Title.V2" = "Dèan toiseach-tòiseachaidh";
@@ -235,6 +241,9 @@
/* Label for the agreement button in the Terms of Use screen. */
"Onboarding.TermsOfUse.ButtonText" = "Thoir aonta is lean air adhart";
+/* Label for the agreement button in the Terms of Use screen. */
+"Onboarding.TermsOfUse.ButtonTextV2" = "Air adhart";
+
/* Button label to dismiss the Privacy Policy and Terms of Use screen. */
"Onboarding.TermsOfUse.Done.ButtonText" = "Deiseil";
@@ -313,15 +322,24 @@
/* Description associated with the Crash Reports toggle on settings screen */
"Settings.detailTextCrashReports.V2" = "’S urrainn dhuinn diagnosachd a dhèanamh air a’ bhrabhsair seo mar seo ’s duilgheadasan a chur ceart.";
+/* Description associated to the Rollouts toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextRollouts" = "Bheir %@ piseach air gleusan, dèanadas is seasmhachd fiù eadar tionndaidhean ùra. Thèid na h-atharraichean seo a chur an sàs o chèin.";
+
/* Description associated to the Search Suggestions toggle on main screen. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
"Settings.detailTextSearchSuggestion" = "Cuiridh %@ na sgrìobhas tu ann am bàr an t-seòlaidh gun einnsan-luirg agad.";
/* Description associated to the Send Usage Data toggle on main screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
"Settings.detailTextSendUsageData" = "Tha Mozilla an dealas dìreach an dàta a chruinneachadh a dh’fheumas sinn airson %@ a sholar is a leasachadh dhan a h-uile duine.";
+/* Description associated to the Send Usage Data toggle on main screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextSendUsageData.v2" = "Tha Mozilla an dealas dìreach an dàta a chruinneachadh a dh’fheumas sinn airson %@ a sholar is a leasachadh dhan a h-uile duine.";
+
/* Description associated to the Studies toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
"Settings.detailTextStudies" = "Faodaidh %@ rannsachadh a stàladh is a ruith o àm gu àm.";
+/* Description associated to the Studies toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
+"Settings.detailTextStudies.v2" = "Taghaidh %@ cleachdaichean air thuaiream is bheir e dhaibh cothrom gleusan a chur fo dheuchainn, rud a nì e nas fheàrr dhan a h-uile duine.";
+
/* Title for section in settings menu */
"Settings.general" = "Coitcheann";
@@ -430,6 +448,9 @@
/* Show home screen tips toggle label on settings screen */
"Settings.toggleHomeScreenTips" = "Seall na gliocasan air an sgrìn-dhachaidh";
+/* Label for Rollouts toggle on the settings screen */
+"Settings.toggleRollouts" = "Ceadaich leasachadh cèin";
+
/* Safari toggle label on settings screen */
"Settings.toggleSafari" = "Safari";
@@ -439,6 +460,9 @@
/* Label for Studies toggle on the settings screen */
"Settings.toggleStudies" = "Rannsachadh";
+/* Label for Studies toggle on the settings screen */
+"Settings.toggleStudies.v2" = "Ceadaich obair-rannsachaidh air gleusan";
+
/* Label for toggle on settings screen */
"Settings.toggleTouchID" = "Cleachd Touch ID airson a’ ghlas a thoirt far na h-aplacaid";
diff --git a/focus-ios/Blockzilla/ka.lproj/Localizable.strings b/focus-ios/Blockzilla/ka.lproj/Localizable.strings
index 4d98964b510e4..21574a2db272f 100644
--- a/focus-ios/Blockzilla/ka.lproj/Localizable.strings
+++ b/focus-ios/Blockzilla/ka.lproj/Localizable.strings
@@ -323,7 +323,7 @@
"Settings.detailTextCrashReports.V2" = "დაგვეხმარება ბრაუზერის ხარვეზების დადგენასა და მოგვარებაში.";
/* Description associated to the Rollouts toggle on the settings screen. %@ is the app name (for example "Firefox Focus" or "Firefox Klar"). */
-"Settings.detailTextRollouts" = "%@ შეძლებს გააუმჯობესოს შესაძლებლობები, წარმადობა და მდგრადობა განახლებებს შორის შუალედშიც. ცვლილებები დაშორებული რეჟიმით.";
+"Settings.detailTextRollouts" = "%@ გააუმჯობესებს შესაძლებლობებს, წარმადობასა და მდგრადობას განახლებებს შორის შუალედშიც. ცვლილებები აისახება დაშორებულად.";
/* Description associated to the Search Suggestions toggle on main screen. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
"Settings.detailTextSearchSuggestion" = "%@ გაუგზავნის საძიებო სისტემას მისამართების ველში აკრეფილ ტექსტს.";
diff --git a/focus-ios/Blockzilla/ne-NP.lproj/Localizable.strings b/focus-ios/Blockzilla/ne-NP.lproj/Localizable.strings
index 679cc703526cc..b79eecf3afed8 100644
--- a/focus-ios/Blockzilla/ne-NP.lproj/Localizable.strings
+++ b/focus-ios/Blockzilla/ne-NP.lproj/Localizable.strings
@@ -26,7 +26,7 @@
"About.rowRights" = "तपाईँका अधिकारहरु";
/* Label for row in About screen */
-"About.rowTerms" = "प्रयोग सर्तहरू";
+"About.rowTerms" = "प्रयोगका सर्तहरू";
/* Label on About screen */
"About.safariBullet1" = "सुधारिएको गोपनीयताको लागि ट्रयाकरहरु बन्द गर्नुहोस्";
@@ -233,25 +233,25 @@
"Onboarding.Protection.Description" = "तपाईंले कति वा कति थोरै साझेदारी गर्ने निर्णय गर्न सक्नुहुन्छ भनेर सेटिङहरू कन्फिगर गर्नुहोस्।";
/* Text for a label that indicates the title of protection section from onboarding screen. */
-"Onboarding.Protection.Title" = "तपाईंको आफ्नै विवेकमा सुरक्षा";
+"Onboarding.Protection.Title" = "आफ्नै निर्णयअनुसार सुरक्षा";
/* Text for a label that indicates the subtitle for onboarding screen. */
"Onboarding.Subtitle" = "आफ्नो निजी ब्राउजिङ्गलाई अर्को स्तरमा लिनुहोस्।";
/* Label for the agreement button in the Terms of Use screen. */
-"Onboarding.TermsOfUse.ButtonText" = "सहमत हुनुहोस् र जारी राख्नुहोस्";
+"Onboarding.TermsOfUse.ButtonText" = "सहमति जनाउनुहोस् र अगाडि बढ्नुहोस्";
/* Label for the agreement button in the Terms of Use screen. */
-"Onboarding.TermsOfUse.ButtonTextV2" = "जारी राख्नुहोस्";
+"Onboarding.TermsOfUse.ButtonTextV2" = "अगाडि बढ्नुहोस्";
/* Button label to dismiss the Privacy Policy and Terms of Use screen. */
"Onboarding.TermsOfUse.Done.ButtonText" = "सम्पन्न भयो";
/* Used as a text for the link in Onboarding.TermsOfUse.Text. */
-"Onboarding.TermsOfUse.LinkText" = "Firefox प्रयोग सर्तहरू";
+"Onboarding.TermsOfUse.LinkText" = "Firefox प्रयोगका सर्तहरू";
/* Subtitle for the Terms of Use screen during onboarding. */
-"Onboarding.TermsOfUse.Subtitle" = "छिटो। निजी। कुनै अवरोधहरु।";
+"Onboarding.TermsOfUse.Subtitle" = "छिटो। गोप्य। ध्यान बिथोल्ने कुराहरू छैनन्।";
/* Text that describes the agreement to the Firefox Terms of Use. %@ is a link using Onboarding.TermsOfUse.LinkText as text. */
"Onboarding.TermsOfUse.Text" = "जारी राखेर, तपाईँ %@ मा सहमत हुनुहुन्छ।";
@@ -269,7 +269,7 @@
"Safari.instructionsEnable" = "%@ सक्षम पार्नुहोस्";
/* Label for instructions to enable extensions in Safari, shown when enabling Safari Integration in Settings */
-"Safari.instructionsExtentions" = "सफारी चयन गर्नुहोस्, त्यसपछि विस्तार चयन गर्नुहोस्";
+"Safari.instructionsExtentions" = "सफारी छान्नुहोस्, त्यसपछि एक्सटेन्सनहरू छान्नुहोस्";
/* Error label when the blocker is not enabled, shown in the intro and main app when disabled. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
"Safari.instructionsNotEnabled" = "%@ सक्षम पारिएको छैन ।";
@@ -278,7 +278,7 @@
"Safari.instructionsOpen" = "सेटिङ्ग अनुप्रयोग खोल्नुहोस्";
/* Label for instructions to enable extensions in Safari, shown when enabling Safari Integration in Settings */
-"Safari.openInstruction" = "यन्त्रको सेटिङहरू खोल्नुहोस्";
+"Safari.openInstruction" = "उपकरणको सेटिङहरू खोल्नुहोस्";
/* Save button label */
"Save" = "सङ्ग्रह गर्नुहोस्";
@@ -314,7 +314,7 @@
"Settings.DailyUsagePing.Message" = "यसले मोजिलालाई सक्रिय प्रयोगकर्ताहरूको अनुमान गर्न मद्दत गर्छ।";
/* On the Settings screen, this is the title text for a toggle which controls automatically sending daily usage ping. */
-"Settings.DailyUsagePing.Title" = "दैनिक उपयोग पिङ";
+"Settings.DailyUsagePing.Title" = "दैनिक प्रयोग पिङ";
/* Dark theme option in settings menu */
"Settings.darkTheme" = "अँध्यारो";
@@ -449,7 +449,7 @@
"Settings.toggleHomeScreenTips" = "गृह स्क्रिनमा सुझावहरू देखाउनुहोस्";
/* Label for Rollouts toggle on the settings screen */
-"Settings.toggleRollouts" = "टाढाको सुधारहरूलाई अनुमति दिनुहोस्";
+"Settings.toggleRollouts" = "टाढाबाट सुधार गर्न अनुमति दिनुहोस्";
/* Safari toggle label on settings screen */
"Settings.toggleSafari" = "सफारी";
@@ -461,7 +461,7 @@
"Settings.toggleStudies" = "अध्ययनहरु";
/* Label for Studies toggle on the settings screen */
-"Settings.toggleStudies.v2" = "सुविधा अध्ययनलाई अनुमति दिनुहोस्";
+"Settings.toggleStudies.v2" = "फिचर अध्ययनहरू गर्न अनुमति दिनुहोस्";
/* Label for toggle on settings screen */
"Settings.toggleTouchID" = "एप अनलक गर्न टच आईडीको प्रयोग गर्नुहोस्";
@@ -542,7 +542,7 @@
"ShowMeHowOnboarding.ButtonText.V2" = "सम्पन्न भयो";
/* This is the subtitle text for step one that is displayed in the Show Me How Onboarding Screen */
-"ShowMeHowOnboarding.SubtitleStepOne.V2" = "आइकनहरूले पल्टाउन सुरु नगरेसम्म गृह स्क्रिनमा थिच्नुहोस्।";
+"ShowMeHowOnboarding.SubtitleStepOne.V2" = "गृह स्क्रिनमा आइकनहरू हल्लिन थाल्ने सम्म लामो समयसम्म थिचेर राख्नुहोस्।";
/* This is the subtitle text for step three that is displayed in the Show Me How onboarding screen. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
"ShowMeHowOnboarding.SubtitleStepThree.V2" = "%@को खोजी गर्नुहोस्। त्यसपछि विजेट छान्नुहोस्।";
@@ -626,25 +626,25 @@
"TodayWidget.SearchInApp.Instruction" = "%@मा खोज्नुहोस्";
/* This is the body text that is displayed for the Context Menu icon tooltip */
-"TooltipBodyText.ContextMenu" = "विशिष्ट गोपनीयता & सुरक्षा विकल्पहरू व्यवस्थापन गर्न सेटिङ्गहरूमा जानुहोस्।";
+"TooltipBodyText.ContextMenu" = "विशेष गोपनीयता र सुरक्षा विकल्पहरू व्यवस्थापन गर्न सेटिङमा जानुहोस्।";
/* This is the body text that is displayed for the Privacy tooltip */
"TooltipBodyText.Privacy" = "यी पूर्वनिर्धारित सेटिङ्गहरूले बलियो सुरक्षा प्रदान गर्दछन्। तर तपाईंको विशेष आवश्यकताहरू पूरा गर्न सेटिङ्गहरू ट्वीक गर्न सजिलो छ।";
/* This is the body text that is displayed for the Search Bar tooltip */
-"TooltipBodyText.SearchBar" = "आफ्नो निजी ब्राउजिङ्ग सत्र सुरु गर्नुहोस्, र हामी तपाईँलाई जाँदा ट्र्याकरहरू र अन्य नराम्रो सामग्री रोक्नेछौं।";
+"TooltipBodyText.SearchBar" = "आफ्नो निजी ब्राउजिङ सत्र सुरु गर्नुहोस्, र तपाईं इन्टरनेट चलाउँदा हामी ट्रयाकरहरू र अन्य हानिकारक सामग्रीहरू रोक्नेछौं";
/* This is the body text that is displayed for the Shield icon tooltip. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
"TooltipBodyText.ShieldIcon" = "%@ले यो साइटलाई तपाईँको जासुसी गर्नबाट रोक्यो। हामीले के रोक्यौं भन्ने जानकारीको लागि शिल्ड ट्याप गर्नुहोस्।";
/* This is the body text that is displayed for the Shield icon tooltip when we block trackers for the first time on a website */
-"TooltipBodyText.ShieldIconTrackerBlocked.V2" = "तिनीहरूलाई बुझे! हामीले यो साइटलाई तपाईंको जासुसी गर्नबाट रोक्यौं। हामीले के रोक्दै छौँ भनेर हेर्न कुनै पनि समय शिल्डमा ट्याप गर्नुहोस्।";
+"TooltipBodyText.ShieldIconTrackerBlocked.V2" = "पक्र्यौं! हामीले यो साइटलाई तपाईंमाथि जासुसी गर्नबाट रोक्यौं। हामी के रोकिरहेका छौं भनेर हेर्न कहिल्यै पनि शिल्डमा ट्याप गर्नुहोस्!";
/* This is the body text that is displayed for the Trash icon tooltip */
"TooltipBodyText.TrashIcon" = "तपाईंको हालको सत्रका सबै निशानहरू हटाउन कुनै पनि समय रद्दीको टोकरीमा ट्याप गर्नुहोस्।";
/* This is the body text that is displayed for the Trash icon tooltip */
-"TooltipBodyText.TrashIcon.V2" = "यो सबै रद्दी टोकरीमा गर्न यहाँ ट्याप गर्नुहोस् - इतिहास, कुकीहरू, सबै कुरा — र नयाँ ट्याबमा ताजा सुरु गर्नुहोस्।";
+"TooltipBodyText.TrashIcon.V2" = "यहाँ ट्याप गरेर इतिहास, कुकीहरू, सबै कुरा हटाउनुहोस् — अनि नयाँ ट्याबमा सफा रूपमा सुरु गर्नुहोस्";
/* This is the title text that is displayed for the Privacy tooltip */
"TooltipTitleText.Privacy" = "तपाईं सुरक्षित हुनुहुन्छ! ";
@@ -701,10 +701,10 @@
"URL.trackersBlockedLabel" = "त्ट्रयाकरहरु अवरुद्ध गरियो";
/* Title for the action button shown on card view that will take the user to a tutorial explaining the user how to add an widget */
-"WidgetOnboardingCard.ActionButton" = "कसरी देखाउनुहोस्";
+"WidgetOnboardingCard.ActionButton" = "मलाई कसरी गर्ने भनेर देखाउनुहोस्";
/* Subtitle shown on card view explaining the app has a widget option. %@ is the app name (for example “Firefox Focus” or ”Firefox Klar”). */
-"WidgetOnboardingCard.Subtitle" = "हामी तपाईंलाई तपाईंको निजी ब्राउजिङ्ग गर्न छोड्नेछौं, तर तपाईंको गृह स्क्रिनमा %@ विजेटको साथ अर्को पटक छिटो सुरुवात प्राप्त गर्नुहोस्।";
+"WidgetOnboardingCard.Subtitle" = "हामी तपाईंलाई निजी ब्राउजिङ गर्न दिन्छौं, तर अर्को पटक आफ्नो गृह स्क्रिनमा %@ विजेट प्रयोग गरेर छिटो सुरु गर्नुहोस्।";
/* Title shown on card view explaining the app has a widget option */
"WidgetOnboardingCard.Title" = "ब्राउजिङ्ग इतिहास खाली गरियो! 🎉";
diff --git a/focus-ios/Blockzilla/ru.lproj/Localizable.strings b/focus-ios/Blockzilla/ru.lproj/Localizable.strings
index bba757164cf41..696634b365367 100644
--- a/focus-ios/Blockzilla/ru.lproj/Localizable.strings
+++ b/focus-ios/Blockzilla/ru.lproj/Localizable.strings
@@ -59,7 +59,7 @@
"Authentication.reason" = "Аутентифицируйтесь для возврата в %@";
/* Label for button to add a custom URL */
-"Autocomplete.addCustomUrl" = "Добавить пользовательский URL";
+"Autocomplete.addCustomUrl" = "Добавить свой URL";
/* Label for error state when entering an invalid URL */
"Autocomplete.addCustomUrlError" = "Внимательно проверьте введённый URL.";
@@ -74,7 +74,7 @@
"Autocomplete.addCustomUrlPlaceholder" = "Вставьте или введите URL";
/* Label for button to add a custom URL with the + prefix */
-"Autocomplete.addCustomUrlWithPlus" = "+ Добавить пользовательский URL";
+"Autocomplete.addCustomUrlWithPlus" = "+ добавить свой URL";
/* Label for toast alerting a custom URL has been added */
"Autocomplete.customUrlAdded" = "Новый пользовательский URL добавлен.";
diff --git a/focus-ios/Focus.entitlements b/focus-ios/Focus.entitlements
index 8b903d82b2893..34d88d081968e 100644
--- a/focus-ios/Focus.entitlements
+++ b/focus-ios/Focus.entitlements
@@ -2,11 +2,9 @@
- com.apple.developer.siri
-
com.apple.security.application-groups
- group.org.mozilla.ios.Focus
+ group.me.whydontyoulove.ios.webviewer.Focus
diff --git a/focus-ios/FocusIntentExtension/FocusIntentExtension.entitlements b/focus-ios/FocusIntentExtension/FocusIntentExtension.entitlements
index 3601f065136d1..34d88d081968e 100644
--- a/focus-ios/FocusIntentExtension/FocusIntentExtension.entitlements
+++ b/focus-ios/FocusIntentExtension/FocusIntentExtension.entitlements
@@ -4,8 +4,7 @@
com.apple.security.application-groups
- group.org.mozilla.ios.Klar
- group.org.mozilla.ios.Focus
+ group.me.whydontyoulove.ios.webviewer.Focus
diff --git a/focus-ios/Klar.entitlements b/focus-ios/Klar.entitlements
index 489fdd0dce81b..2eb7e333a6f6c 100644
--- a/focus-ios/Klar.entitlements
+++ b/focus-ios/Klar.entitlements
@@ -2,11 +2,7 @@
- com.apple.developer.siri
-
com.apple.security.application-groups
-
- group.org.mozilla.ios.Klar
-
+
diff --git a/focus-ios/Widgets/ne-NP.lproj/Localizable.strings b/focus-ios/Widgets/ne-NP.lproj/Localizable.strings
index aa861665d3768..551617d7da117 100644
--- a/focus-ios/Widgets/ne-NP.lproj/Localizable.strings
+++ b/focus-ios/Widgets/ne-NP.lproj/Localizable.strings
@@ -2,7 +2,7 @@
"TodayWidget.QuickActionGalleryDescription" = "आफ्नो गृह स्क्रिनमा %@ सर्टकट थप्नुहोस्। विजेट थपेपछि, यसलाई सम्पादन गर्न छुनुहोस् र होल्ड गर्नुहोस् र फरक सर्टकट चयन गर्नुहोस्।";
/* Description for small size widget to add it to home screen. %@ is the name of the app(Focus/Klar). */
-"TodayWidget.QuickActionGalleryDescriptionV2" = "आफ्नो पूर्वनिर्धारित खोज इन्जिनद्वारा %@मा निजी खोज सुरु गर्नुहोस्।";
+"TodayWidget.QuickActionGalleryDescriptionV2" = "%@ मा आफ्नो डिफल्ट खोज इन्जिन प्रयोग गरेर निजी खोज आरम्भ गर्नुहोस्।";
/* Quick Actions title when widget enters edit mode */
"TodayWidget.QuickActionsGalleryTitle" = "द्रुत कार्यहरु";
diff --git a/focus-ios/version.xcconfig b/focus-ios/version.xcconfig
index ea938b0608fbb..93280e46bf6cd 100644
--- a/focus-ios/version.xcconfig
+++ b/focus-ios/version.xcconfig
@@ -1 +1 @@
-APP_VERSION = 140.0
+APP_VERSION = 148.3