Context menu improvements
15
.buckconfig
@ -1,14 +1,14 @@
|
|||||||
[cxx]
|
[cxx]
|
||||||
default_platform = iphoneos-armv7
|
default_platform = iphonesimulator-x86_64
|
||||||
cflags = -fmodules -fobjc-arc -D BUCK -D DEBUG -w -fno-optimize-sibling-calls $(config custom.other_cflags)
|
cflags = -g -fmodules -fobjc-arc -D BUCK -DTARGET_OS_IOS=1 -g -w $(config custom.other_cflags)
|
||||||
cxxflags = -fobjc-arc -std=c++14 -D BUCK -D DEBUG -w -fno-optimize-sibling-calls $(config custom.other_cxxflags)
|
cxxflags = -fobjc-arc -std=c++14 -D BUCK -DTARGET_OS_IOS=1 -g $(config custom.other_cxxflags)
|
||||||
combined_preprocess_and_compile = true
|
combined_preprocess_and_compile = true
|
||||||
pch_enabled = false
|
pch_enabled = false
|
||||||
ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -dead_strip -Xlinker -no_deduplicate $(config custom.other_cxxflags)
|
ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime $(config custom.other_cxxflags)
|
||||||
|
|
||||||
[swift]
|
[swift]
|
||||||
version = 5
|
version = 5
|
||||||
compiler_flags = -DBUCK -enable-testing -O -whole-module-optimization -suppress-warnings -Xcc -fno-optimize-sibling-calls $(config custom.other_swift_compiler_flags)
|
compiler_flags = -g -DBUCK $(config custom.optimization) $(config custom.config_swift_compiler_flags) $(config custom.other_swift_compiler_flags)
|
||||||
use_filelist = true
|
use_filelist = true
|
||||||
|
|
||||||
[apple]
|
[apple]
|
||||||
@ -19,8 +19,7 @@
|
|||||||
iphoneos_target_sdk_version = 8.0
|
iphoneos_target_sdk_version = 8.0
|
||||||
provisioning_profile_read_command = security cms -Di
|
provisioning_profile_read_command = security cms -Di
|
||||||
xctool_default_destination_specifier = platform=iOS Simulator,OS=latest
|
xctool_default_destination_specifier = platform=iOS Simulator,OS=latest
|
||||||
;provisioning_profile_search_path = ./
|
xctool_path = tools/xctool/bin/xctool
|
||||||
;xctool_path = tools/xctool/bin/xctool
|
|
||||||
|
|
||||||
[parser]
|
[parser]
|
||||||
polyglot_parsing_enabled = true
|
polyglot_parsing_enabled = true
|
||||||
@ -34,5 +33,3 @@
|
|||||||
ignore = tools, \
|
ignore = tools, \
|
||||||
.git, \
|
.git, \
|
||||||
|
|
||||||
[build]
|
|
||||||
thread_core_ratio = 2.0
|
|
||||||
|
605
BUCK
@ -1,182 +1,499 @@
|
|||||||
load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config')
|
load("//Config:configs.bzl",
|
||||||
load('//tools:buck_defs.bzl', 'SHARED_CONFIGS')
|
"app_binary_configs",
|
||||||
|
"share_extension_configs",
|
||||||
|
"widget_extension_configs",
|
||||||
|
"notification_content_extension_configs",
|
||||||
|
"notification_service_extension_configs",
|
||||||
|
"intents_extension_configs",
|
||||||
|
"watch_extension_binary_configs",
|
||||||
|
"watch_binary_configs",
|
||||||
|
"library_configs",
|
||||||
|
"info_plist_substitutions",
|
||||||
|
"app_info_plist_substitutions",
|
||||||
|
"share_extension_info_plist_substitutions",
|
||||||
|
"widget_extension_info_plist_substitutions",
|
||||||
|
"notification_content_extension_info_plist_substitutions",
|
||||||
|
"notification_service_extension_info_plist_substitutions",
|
||||||
|
"intents_extension_info_plist_substitutions",
|
||||||
|
"watch_extension_info_plist_substitutions",
|
||||||
|
"watch_info_plist_substitutions",
|
||||||
|
"DEVELOPMENT_LANGUAGE",
|
||||||
|
)
|
||||||
|
|
||||||
# Adding `-all_load` to our binaries works around https://bugs.swift.org/browse/SR-6004. See the
|
load("//Config:buck_rule_macros.bzl",
|
||||||
# longer comment in `ViewController.swift` for more details.
|
"apple_lib",
|
||||||
ALL_LOAD_LINKER_FLAG = '-all_load'
|
"framework_binary_dependencies",
|
||||||
|
"framework_bundle_dependencies",
|
||||||
|
"glob_map",
|
||||||
|
"glob_sub_map",
|
||||||
|
"merge_maps",
|
||||||
|
)
|
||||||
|
|
||||||
BUILD_NUMBER = '2001'
|
framework_dependencies = [
|
||||||
|
"//submodules/MtProtoKit:MtProtoKit",
|
||||||
|
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
||||||
|
"//submodules/Postbox:Postbox",
|
||||||
|
"//submodules/TelegramCore:TelegramCore",
|
||||||
|
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
|
||||||
|
"//submodules/Display:Display",
|
||||||
|
"//submodules/TelegramUI:TelegramUI",
|
||||||
|
]
|
||||||
|
|
||||||
APP_CONFIGS = {
|
resource_dependencies = [
|
||||||
'ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES': 'YES',
|
"//submodules/LegacyComponents:LegacyComponentsResources",
|
||||||
'DEVELOPMENT_LANGUAGE': 'Swift',
|
"//submodules/TelegramUI:TelegramUIAssets",
|
||||||
'PRODUCT_BUNDLE_IDENTIFIER': 'ph.telegra.Telegraph',
|
"//submodules/TelegramUI:TelegramUIResources",
|
||||||
'PROVISIONING_PROFILE_SPECIFIER': 'match Development ph.telegra.Telegraph',
|
"//:AppResources",
|
||||||
'TARGETED_DEVICE_FAMILY': '1,2',
|
"//:AppStringResources",
|
||||||
'APP_NAME': 'Telegram',
|
"//:AppIntentVocabularyResources",
|
||||||
'BUILD_NUMBER': BUILD_NUMBER,
|
"//:Icons",
|
||||||
'CODE_SIGN_ENTITLEMENTS': 'Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements',
|
"//:AdditionalIcons",
|
||||||
}
|
"//:LaunchScreen",
|
||||||
APP_CONFIGS.update(SHARED_CONFIGS)
|
]
|
||||||
|
|
||||||
|
build_phase_scripts = [
|
||||||
|
]
|
||||||
|
|
||||||
apple_resource(
|
apple_resource(
|
||||||
name = 'LaunchScreenXib',
|
name = "AppResources",
|
||||||
files = [
|
files = glob([
|
||||||
'Telegram-iOS/Base.lproj/LaunchScreen.xib',
|
"Telegram-iOS/Resources/**/*",
|
||||||
],
|
], exclude = ["Telegram-iOS/Resources/**/.*"]),
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
)
|
)
|
||||||
|
|
||||||
apple_resource(
|
apple_resource(
|
||||||
name = "StringResources",
|
name = "AppStringResources",
|
||||||
files = [],
|
files = [],
|
||||||
variants = glob([
|
variants = glob([
|
||||||
"Telegram-iOS/*.lproj/Localizable.strings",
|
"Telegram-iOS/*.lproj/Localizable.strings",
|
||||||
]),
|
]),
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
)
|
)
|
||||||
|
|
||||||
apple_resource(
|
apple_resource(
|
||||||
name = "InfoPlistStringResources",
|
name = "AppIntentVocabularyResources",
|
||||||
files = [],
|
|
||||||
variants = glob([
|
|
||||||
"Telegram-iOS/*.lproj/InfoPlist.strings",
|
|
||||||
]),
|
|
||||||
)
|
|
||||||
|
|
||||||
apple_resource(
|
|
||||||
name = "AppIntentVocabularyStringResources",
|
|
||||||
files = [],
|
files = [],
|
||||||
variants = glob([
|
variants = glob([
|
||||||
"Telegram-iOS/*.lproj/AppIntentVocabulary.plist",
|
"Telegram-iOS/*.lproj/AppIntentVocabulary.plist",
|
||||||
]),
|
]),
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
)
|
)
|
||||||
|
|
||||||
apple_asset_catalog(
|
apple_asset_catalog(
|
||||||
name = 'Images',
|
name = "Icons",
|
||||||
dirs = [
|
dirs = [
|
||||||
'Telegram-iOS/Images.xcassets',
|
"Telegram-iOS/Icons.xcassets",
|
||||||
|
"Telegram-iOS/AppIcons.xcassets",
|
||||||
|
],
|
||||||
|
app_icon = "AppIconLLC",
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_resource(
|
||||||
|
name = "AdditionalIcons",
|
||||||
|
files = glob([
|
||||||
|
"Telegram-iOS/*.png",
|
||||||
|
]),
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_resource(
|
||||||
|
name = "LaunchScreen",
|
||||||
|
files = [
|
||||||
|
"Telegram-iOS/Base.lproj/LaunchScreen.xib",
|
||||||
],
|
],
|
||||||
app_icon = 'AppIconLLC',
|
visibility = ["PUBLIC"],
|
||||||
)
|
)
|
||||||
|
|
||||||
apple_library(
|
apple_library(
|
||||||
name = 'BuildConfig',
|
name = "AppLibrary",
|
||||||
srcs = glob([
|
visibility = [
|
||||||
'Telegram-iOS/BuildConfig.m',
|
"//:",
|
||||||
]),
|
"//...",
|
||||||
headers = [
|
|
||||||
'Telegram-iOS/BuildConfig.h',
|
|
||||||
],
|
],
|
||||||
compiler_flags = [
|
configs = library_configs(),
|
||||||
'-w',
|
swift_version = native.read_config("swift", "version"),
|
||||||
'-DAPP_CONFIG_IS_INTERNAL_BUILD=false',
|
srcs = [
|
||||||
'-DAPP_CONFIG_IS_APPSTORE_BUILD=true',
|
"Telegram-iOS/main.m",
|
||||||
'-DAPP_CONFIG_APPSTORE_ID=686449807',
|
"Telegram-iOS/Application.swift"
|
||||||
'-DAPP_SPECIFIC_URL_SCHEME=\"tgapp\"',
|
|
||||||
'-DAPP_CONFIG_API_ID=8',
|
|
||||||
'-DAPP_CONFIG_API_HASH=\"7245de8e747a0d6fbe11f7cc14fcc0bb\"',
|
|
||||||
'-DAPP_CONFIG_HOCKEYAPP_ID=\"ad8831329ffc8f8aff9a2b0b86558b24\"',
|
|
||||||
],
|
],
|
||||||
header_namespace = 'BuildConfig',
|
|
||||||
exported_headers = [
|
|
||||||
'Telegram-iOS/BuildConfig.h',
|
|
||||||
],
|
|
||||||
modular = True,
|
|
||||||
visibility = ['PUBLIC'],
|
|
||||||
deps = [
|
deps = [
|
||||||
'//submodules/MtProtoKit:MtProtoKit',
|
]
|
||||||
],
|
+ framework_binary_dependencies(framework_dependencies),
|
||||||
)
|
|
||||||
|
|
||||||
apple_library(
|
|
||||||
name = 'AppBinaryPrivate',
|
|
||||||
srcs = glob([
|
|
||||||
'Telegram-iOS/TGBridgeServer.m',
|
|
||||||
'Telegram-iOS/TGAutoDownloadPreferences.m',
|
|
||||||
'Telegram-iOS/TGPresentationAutoNightPreferences.m',
|
|
||||||
'Telegram-iOS/TGProxyItem.m',
|
|
||||||
'Telegram-iOS/UIImage+ImageEffects.m',
|
|
||||||
]),
|
|
||||||
headers = [
|
|
||||||
],
|
|
||||||
header_namespace = 'AppBinaryPrivate',
|
|
||||||
exported_headers = [
|
|
||||||
'Telegram-iOS/TGBridgeServer.h',
|
|
||||||
'Telegram-iOS/TGAutoDownloadPreferences.h',
|
|
||||||
'Telegram-iOS/TGPresentationAutoNightPreferences.h',
|
|
||||||
'Telegram-iOS/TGProxyItem.h',
|
|
||||||
'Telegram-iOS/UIImage+ImageEffects.h',
|
|
||||||
],
|
|
||||||
modular = True,
|
|
||||||
visibility = ['PUBLIC'],
|
|
||||||
deps = [
|
|
||||||
'//submodules/SSignalKit:SSignalKit',
|
|
||||||
'//Watch:WatchUtils',
|
|
||||||
'//submodules/LegacyComponents:LegacyComponents',
|
|
||||||
],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
apple_binary(
|
apple_binary(
|
||||||
name = 'AppBinary',
|
name = "AppBinary",
|
||||||
configs = configs_with_config(config_with_updated_linker_flags(APP_CONFIGS, ALL_LOAD_LINKER_FLAG)),
|
visibility = [
|
||||||
#srcs = glob([
|
"//:",
|
||||||
# 'Telegram-iOS/*.swift',
|
"//...",
|
||||||
#]) + [
|
|
||||||
# 'Telegram-iOS/main.m',
|
|
||||||
#],
|
|
||||||
srcs = ['Telegram-iOS/TempMain.m'],
|
|
||||||
entitlements_file = 'Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements',
|
|
||||||
deps = [
|
|
||||||
':LaunchScreenXib',
|
|
||||||
':StringResources',
|
|
||||||
':InfoPlistStringResources',
|
|
||||||
':AppIntentVocabularyStringResources',
|
|
||||||
':Images',
|
|
||||||
#'//submodules/AsyncDisplayKit:AsyncDisplayKit',
|
|
||||||
#'//submodules/MtProtoKit:MtProtoKit',
|
|
||||||
#'//submodules/SSignalKit:SwiftSignalKit',
|
|
||||||
#'//submodules/SSignalKit:SSignalKit',
|
|
||||||
#'//submodules/Display:Display',
|
|
||||||
#'//submodules/Postbox:Postbox',
|
|
||||||
#'//submodules/TelegramCore:TelegramCore',
|
|
||||||
#'//submodules/LegacyComponents:LegacyComponents',
|
|
||||||
#'//submodules/HockeySDK-iOS:HockeySDK',
|
|
||||||
#'//submodules/lottie-ios:Lottie',
|
|
||||||
'//submodules/libtgvoip:tgvoip',
|
|
||||||
#'//submodules/webp:WebPImage',
|
|
||||||
#'//submodules/ffmpeg:FFMpeg',
|
|
||||||
#'//submodules/TelegramUI:TelegramUI',
|
|
||||||
'//submodules/TelegramUI:TelegramUIFramework',
|
|
||||||
#'//Watch:WatchUtils',
|
|
||||||
':BuildConfig',
|
|
||||||
':AppBinaryPrivate',
|
|
||||||
],
|
],
|
||||||
|
configs = app_binary_configs(),
|
||||||
|
swift_version = native.read_config("swift", "version"),
|
||||||
|
srcs = [
|
||||||
|
"SupportFiles/Empty.swift",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
":AppLibrary",
|
||||||
|
]
|
||||||
|
+ resource_dependencies,
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "Telegram",
|
||||||
|
visibility = [
|
||||||
|
"//:",
|
||||||
|
],
|
||||||
|
extension = "app",
|
||||||
|
binary = ":AppBinary",
|
||||||
|
product_name = "Telegram",
|
||||||
|
info_plist = "Telegram-iOS/Info.plist",
|
||||||
|
info_plist_substitutions = app_info_plist_substitutions(),
|
||||||
|
deps = [
|
||||||
|
":ShareExtension",
|
||||||
|
":WidgetExtension",
|
||||||
|
":NotificationContentExtension",
|
||||||
|
":NotificationServiceExtension",
|
||||||
|
":IntentsExtension",
|
||||||
|
":WatchApp#watch",
|
||||||
|
]
|
||||||
|
+ framework_bundle_dependencies(framework_dependencies),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Share Extension
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "ShareBinary",
|
||||||
|
srcs = glob([
|
||||||
|
"Share/**/*.swift",
|
||||||
|
]),
|
||||||
|
configs = share_extension_configs(),
|
||||||
|
linker_flags = [
|
||||||
|
"-e",
|
||||||
|
"_NSExtensionMain",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"/usr/lib/swift",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
"//submodules/TelegramUI:TelegramUI#shared",
|
||||||
|
],
|
||||||
|
frameworks = [
|
||||||
|
"$SDKROOT/System/Library/Frameworks/UIKit.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "ShareExtension",
|
||||||
|
binary = ":ShareBinary",
|
||||||
|
extension = "appex",
|
||||||
|
info_plist = "Share/Info.plist",
|
||||||
|
info_plist_substitutions = share_extension_info_plist_substitutions(),
|
||||||
|
deps = [
|
||||||
|
],
|
||||||
|
xcode_product_type = "com.apple.product-type.app-extension",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Widget
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "WidgetBinary",
|
||||||
|
srcs = glob([
|
||||||
|
"Widget/**/*.swift",
|
||||||
|
]),
|
||||||
|
configs = widget_extension_configs(),
|
||||||
|
swift_compiler_flags = [
|
||||||
|
"-application-extension",
|
||||||
|
],
|
||||||
|
linker_flags = [
|
||||||
|
"-e",
|
||||||
|
"_NSExtensionMain",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"/usr/lib/swift",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared",
|
||||||
|
"//submodules/TelegramCore:TelegramCore#shared",
|
||||||
|
"//submodules/Postbox:Postbox#shared",
|
||||||
|
"//submodules/BuildConfig:BuildConfig",
|
||||||
|
],
|
||||||
|
frameworks = [
|
||||||
|
"$SDKROOT/System/Library/Frameworks/UIKit.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/NotificationCenter.framework",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "WidgetExtension",
|
||||||
|
binary = ":WidgetBinary",
|
||||||
|
extension = "appex",
|
||||||
|
info_plist = "Widget/Info.plist",
|
||||||
|
info_plist_substitutions = widget_extension_info_plist_substitutions(),
|
||||||
|
deps = [
|
||||||
|
],
|
||||||
|
xcode_product_type = "com.apple.product-type.app-extension",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Notification Content
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "NotificationContentBinary",
|
||||||
|
srcs = glob([
|
||||||
|
"NotificationContent/**/*.swift",
|
||||||
|
]),
|
||||||
|
configs = notification_content_extension_configs(),
|
||||||
|
swift_compiler_flags = [
|
||||||
|
"-application-extension",
|
||||||
|
],
|
||||||
|
linker_flags = [
|
||||||
|
"-e",
|
||||||
|
"_NSExtensionMain",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"/usr/lib/swift",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
"//submodules/TelegramUI:TelegramUI#shared",
|
||||||
|
],
|
||||||
|
frameworks = [
|
||||||
|
"$SDKROOT/System/Library/Frameworks/UIKit.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/UserNotificationsUI.framework",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "NotificationContentExtension",
|
||||||
|
binary = ":NotificationContentBinary",
|
||||||
|
extension = "appex",
|
||||||
|
info_plist = "NotificationContent/Info.plist",
|
||||||
|
info_plist_substitutions = notification_content_extension_info_plist_substitutions(),
|
||||||
|
deps = [
|
||||||
|
],
|
||||||
|
xcode_product_type = "com.apple.product-type.app-extension",
|
||||||
|
)
|
||||||
|
|
||||||
|
#Notification Service
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "NotificationServiceBinary",
|
||||||
|
srcs = glob([
|
||||||
|
"NotificationService/**/*.m",
|
||||||
|
]),
|
||||||
|
headers = glob([
|
||||||
|
"NotificationService/**/*.h",
|
||||||
|
]),
|
||||||
|
configs = notification_service_extension_configs(),
|
||||||
|
swift_compiler_flags = [
|
||||||
|
"-application-extension",
|
||||||
|
],
|
||||||
|
linker_flags = [
|
||||||
|
"-e",
|
||||||
|
"_NSExtensionMain",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"/usr/lib/swift",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
"//submodules/BuildConfig:BuildConfig",
|
||||||
|
"//submodules/MtProtoKit:MtProtoKit#shared",
|
||||||
|
],
|
||||||
|
frameworks = [
|
||||||
|
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/UserNotifications.framework",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "NotificationServiceExtension",
|
||||||
|
binary = ":NotificationServiceBinary",
|
||||||
|
extension = "appex",
|
||||||
|
info_plist = "NotificationService/Info.plist",
|
||||||
|
info_plist_substitutions = notification_service_extension_info_plist_substitutions(),
|
||||||
|
deps = [
|
||||||
|
],
|
||||||
|
xcode_product_type = "com.apple.product-type.app-extension",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Intents
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "IntentsBinary",
|
||||||
|
srcs = glob([
|
||||||
|
"SiriIntents/**/*.swift",
|
||||||
|
]),
|
||||||
|
configs = intents_extension_configs(),
|
||||||
|
swift_compiler_flags = [
|
||||||
|
"-application-extension",
|
||||||
|
],
|
||||||
|
linker_flags = [
|
||||||
|
"-e",
|
||||||
|
"_NSExtensionMain",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"/usr/lib/swift",
|
||||||
|
"-Xlinker",
|
||||||
|
"-rpath",
|
||||||
|
"-Xlinker",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared",
|
||||||
|
"//submodules/Postbox:Postbox#shared",
|
||||||
|
"//submodules/TelegramCore:TelegramCore#shared",
|
||||||
|
"//submodules/BuildConfig:BuildConfig",
|
||||||
|
],
|
||||||
|
frameworks = [
|
||||||
|
"$SDKROOT/System/Library/Frameworks/UIKit.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "IntentsExtension",
|
||||||
|
binary = ":IntentsBinary",
|
||||||
|
extension = "appex",
|
||||||
|
info_plist = "SiriIntents/Info.plist",
|
||||||
|
info_plist_substitutions = intents_extension_info_plist_substitutions(),
|
||||||
|
deps = [
|
||||||
|
],
|
||||||
|
xcode_product_type = "com.apple.product-type.app-extension",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Watch
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "WatchAppExtensionBinary",
|
||||||
|
srcs = glob([
|
||||||
|
"Watch/Extension/**/*.m",
|
||||||
|
"Watch/SSignalKit/**/*.m",
|
||||||
|
"Watch/Bridge/**/*.m",
|
||||||
|
"Watch/WatchCommonWatch/**/*.m",
|
||||||
|
]),
|
||||||
|
headers = merge_maps([
|
||||||
|
glob_map(glob([
|
||||||
|
"Watch/Extension/*.h",
|
||||||
|
"Watch/Bridge/*.h",
|
||||||
|
])),
|
||||||
|
glob_sub_map("Watch/Extension/", glob([
|
||||||
|
"Watch/Extension/SSignalKit/*.h",
|
||||||
|
])),
|
||||||
|
glob_sub_map("Watch/", glob([
|
||||||
|
"Watch/WatchCommonWatch/*.h",
|
||||||
|
])),
|
||||||
|
]),
|
||||||
|
compiler_flags = [
|
||||||
|
"-DTARGET_OS_WATCH=1",
|
||||||
|
],
|
||||||
|
configs = watch_extension_binary_configs(),
|
||||||
|
frameworks = [
|
||||||
|
"$SDKROOT/System/Library/Frameworks/UserNotifications.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/CoreLocation.framework",
|
||||||
|
"$SDKROOT/System/Library/Frameworks/CoreGraphics.framework",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "WatchAppExtension",
|
||||||
|
binary = ":WatchAppExtensionBinary",
|
||||||
|
extension = "appex",
|
||||||
|
info_plist = "Watch/Extension/Info.plist",
|
||||||
|
info_plist_substitutions = watch_extension_info_plist_substitutions(),
|
||||||
|
xcode_product_type = "com.apple.product-type.watchkit2-extension",
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_resource(
|
||||||
|
name = "WatchAppResources",
|
||||||
|
dirs = [],
|
||||||
|
files = glob(["Watch/Extension/Resources/*.png"])
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_asset_catalog(
|
||||||
|
name = "WatchAppAssets",
|
||||||
|
dirs = [
|
||||||
|
"Watch/App/Assets.xcassets",
|
||||||
|
],
|
||||||
|
app_icon = "AppIcon",
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_resource(
|
||||||
|
name = "WatchAppInterface",
|
||||||
|
files = [
|
||||||
|
"Watch/App/Base.lproj/Interface.storyboard",
|
||||||
|
],
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_resource(
|
||||||
|
name = "WatchAppStringResources",
|
||||||
|
files = [],
|
||||||
|
variants = glob([
|
||||||
|
"Telegram-iOS/*.lproj/Localizable.strings",
|
||||||
|
]),
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "WatchAppBinary",
|
||||||
|
configs = watch_binary_configs(),
|
||||||
|
deps = [
|
||||||
|
":WatchAppResources",
|
||||||
|
":WatchAppAssets",
|
||||||
|
":WatchAppInterface",
|
||||||
|
":WatchAppStringResources",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "WatchApp",
|
||||||
|
binary = ":WatchAppBinary",
|
||||||
|
visibility = [
|
||||||
|
"//:",
|
||||||
|
],
|
||||||
|
extension = "app",
|
||||||
|
info_plist = "Watch/App/Info.plist",
|
||||||
|
info_plist_substitutions = watch_info_plist_substitutions(),
|
||||||
|
xcode_product_type = "com.apple.product-type.application.watchapp2",
|
||||||
|
deps = [
|
||||||
|
":WatchAppExtension",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
# Package
|
||||||
|
|
||||||
|
apple_package(
|
||||||
|
name = "AppPackage",
|
||||||
|
bundle = ":Telegram",
|
||||||
)
|
)
|
||||||
|
|
||||||
xcode_workspace_config(
|
xcode_workspace_config(
|
||||||
name = "workspace",
|
name = "workspace",
|
||||||
workspace_name = "Telegram",
|
workspace_name = "Telegram_Buck",
|
||||||
src_target = ":AppBinary",
|
src_target = ":Telegram",
|
||||||
)
|
|
||||||
|
|
||||||
apple_bundle(
|
|
||||||
name = 'AppBundle',
|
|
||||||
extension = 'app',
|
|
||||||
binary = ':AppBinary',
|
|
||||||
product_name = 'Telegram',
|
|
||||||
info_plist = 'Telegram-iOS/Info.plist',
|
|
||||||
info_plist_substitutions = {
|
|
||||||
'DEVELOPMENT_LANGUAGE': 'en-us',
|
|
||||||
'APP_NAME': 'Telegram',
|
|
||||||
'EXECUTABLE_NAME': 'Telegram',
|
|
||||||
'PRODUCT_BUNDLE_IDENTIFIER': 'ph.telegra.Telegraph',
|
|
||||||
'PRODUCT_NAME': 'Telegram',
|
|
||||||
'APP_SPECIFIC_URL_SCHEME': 'tgapp',
|
|
||||||
'VERSION': '5.8',
|
|
||||||
'BUILD_NUMBER': BUILD_NUMBER,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
apple_package(
|
|
||||||
name = 'AppPackage',
|
|
||||||
bundle = ':AppBundle',
|
|
||||||
)
|
)
|
10
Config/BUCK
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# This file can be depended upon for any apple_test_lib rules.
|
||||||
|
genrule(
|
||||||
|
name = "test_info_plist",
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
srcs = [
|
||||||
|
"BuckSupportFiles/TestInfo.plist",
|
||||||
|
],
|
||||||
|
out = 'TestInfo.plist',
|
||||||
|
cmd = 'cp $SRCDIR/BuckSupportFiles/TestInfo.plist $OUT',
|
||||||
|
)
|
22
Config/BuckSupportFiles/TestInfo.plist
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>$(PRODUCT_NAME)</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>BNDL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
20
Config/app_configuration.bzl
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
def appConfig():
|
||||||
|
apiId = native.read_config("custom", "apiId")
|
||||||
|
apiHash = native.read_config("custom", "apiHash")
|
||||||
|
hockeyAppId = native.read_config("custom", "hockeyAppId")
|
||||||
|
isInternalBuild = native.read_config("custom", "isInternalBuild")
|
||||||
|
isAppStoreBuild = native.read_config("custom", "isAppStoreBuild")
|
||||||
|
appStoreId = native.read_config("custom", "appStoreId")
|
||||||
|
appSpecificUrlScheme = native.read_config("custom", "appSpecificUrlScheme")
|
||||||
|
buildNumber = native.read_config("custom", "buildNumber")
|
||||||
|
return {
|
||||||
|
"apiId": apiId,
|
||||||
|
"apiHash": apiHash,
|
||||||
|
"hockeyAppId": hockeyAppId,
|
||||||
|
"isInternalBuild": isInternalBuild,
|
||||||
|
"isAppStoreBuild": isAppStoreBuild,
|
||||||
|
"appStoreId": appStoreId,
|
||||||
|
"appSpecificUrlScheme": appSpecificUrlScheme,
|
||||||
|
"buildNumber": buildNumber,
|
||||||
|
}
|
282
Config/buck_rule_macros.bzl
Normal file
@ -0,0 +1,282 @@
|
|||||||
|
load("//Config:configs.bzl", "library_configs", "dynamic_library_configs", "info_plist_substitutions")
|
||||||
|
|
||||||
|
def apple_lib(
|
||||||
|
name,
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
srcs = [],
|
||||||
|
headers = [],
|
||||||
|
exported_headers = [],
|
||||||
|
extra_xcode_files = [],
|
||||||
|
deps = [],
|
||||||
|
exported_deps = [],
|
||||||
|
additional_linker_flags = None,
|
||||||
|
frameworks = [],
|
||||||
|
swift_version = None,
|
||||||
|
modular = True,
|
||||||
|
compiler_flags = None,
|
||||||
|
platform_compiler_flags = None,
|
||||||
|
swift_compiler_flags = None,
|
||||||
|
warning_as_error = False,
|
||||||
|
suppress_warnings = False,
|
||||||
|
has_cpp = False,
|
||||||
|
framework = False):
|
||||||
|
swift_version = swift_version or native.read_config('swift', 'version')
|
||||||
|
swift_compiler_flags = swift_compiler_flags or []
|
||||||
|
|
||||||
|
if native.read_config("xcode", "beta") == "True":
|
||||||
|
warning_as_error = False
|
||||||
|
|
||||||
|
if platform_compiler_flags != None:
|
||||||
|
if compiler_flags != None:
|
||||||
|
fail("compiler_flags and platform_compiler_flags are mutually exclusive")
|
||||||
|
compiler_flags = []
|
||||||
|
for i in range(len(platform_compiler_flags)):
|
||||||
|
if warning_as_error:
|
||||||
|
platform_compiler_flags[i][1].append("-Werror")
|
||||||
|
elif suppress_warnings:
|
||||||
|
platform_compiler_flags[i][1].append("-w")
|
||||||
|
else:
|
||||||
|
compiler_flags = compiler_flags or []
|
||||||
|
if warning_as_error:
|
||||||
|
compiler_flags.append("-Werror")
|
||||||
|
elif suppress_warnings:
|
||||||
|
compiler_flags.append("-w")
|
||||||
|
|
||||||
|
if warning_as_error:
|
||||||
|
swift_compiler_flags.append("-warnings-as-errors")
|
||||||
|
elif suppress_warnings:
|
||||||
|
swift_compiler_flags.append("-suppress-warnings")
|
||||||
|
|
||||||
|
if framework:
|
||||||
|
additional_linker_flags = additional_linker_flags or []
|
||||||
|
if has_cpp:
|
||||||
|
linker_flags = [
|
||||||
|
"-lc++",
|
||||||
|
"-lz"
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
linker_flags = []
|
||||||
|
|
||||||
|
if native.read_config("custom", "mode") == "project":
|
||||||
|
resolved_linker_flags = linker_flags + additional_linker_flags + ["-Wl,-install_name,@rpath/lib%s.dylib" % (name)]
|
||||||
|
else:
|
||||||
|
resolved_linker_flags = linker_flags + additional_linker_flags + ["-Wl,-install_name,@rpath/%s.framework/%s" % (name, name)]
|
||||||
|
native.apple_library(
|
||||||
|
name = name + "",
|
||||||
|
srcs = srcs,
|
||||||
|
header_namespace = name,
|
||||||
|
module_name = name,
|
||||||
|
soname = "lib" + name + ".dylib",
|
||||||
|
headers = headers,
|
||||||
|
exported_headers = exported_headers,
|
||||||
|
deps = deps,
|
||||||
|
exported_deps = exported_deps,
|
||||||
|
extra_xcode_files = extra_xcode_files,
|
||||||
|
frameworks = frameworks,
|
||||||
|
visibility = visibility,
|
||||||
|
swift_version = swift_version,
|
||||||
|
configs = dynamic_library_configs(),
|
||||||
|
modular = modular,
|
||||||
|
compiler_flags = compiler_flags,
|
||||||
|
platform_compiler_flags = platform_compiler_flags,
|
||||||
|
swift_compiler_flags = swift_compiler_flags,
|
||||||
|
preferred_linkage = "shared",
|
||||||
|
#link_style = "static",
|
||||||
|
linker_flags = resolved_linker_flags,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
additional_linker_flags = additional_linker_flags or []
|
||||||
|
if has_cpp:
|
||||||
|
linker_flags = [
|
||||||
|
"-lc++",
|
||||||
|
"-lz"
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
linker_flags = []
|
||||||
|
|
||||||
|
resolved_exported_linker_flags = linker_flags + additional_linker_flags
|
||||||
|
native.apple_library(
|
||||||
|
name = name,
|
||||||
|
srcs = srcs,
|
||||||
|
headers = headers,
|
||||||
|
exported_headers = exported_headers,
|
||||||
|
deps = deps,
|
||||||
|
exported_deps = exported_deps,
|
||||||
|
exported_linker_flags = resolved_exported_linker_flags,
|
||||||
|
extra_xcode_files = extra_xcode_files,
|
||||||
|
frameworks = frameworks,
|
||||||
|
visibility = visibility,
|
||||||
|
swift_version = swift_version,
|
||||||
|
configs = library_configs(),
|
||||||
|
modular = modular,
|
||||||
|
compiler_flags = compiler_flags,
|
||||||
|
platform_compiler_flags = platform_compiler_flags,
|
||||||
|
swift_compiler_flags = swift_compiler_flags,
|
||||||
|
preferred_linkage = "static",
|
||||||
|
)
|
||||||
|
|
||||||
|
def static_library(
|
||||||
|
name,
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
has_cpp = False,
|
||||||
|
srcs = [],
|
||||||
|
headers = [],
|
||||||
|
exported_headers = [],
|
||||||
|
extra_xcode_files = [],
|
||||||
|
deps = [],
|
||||||
|
additional_linker_flags = None,
|
||||||
|
frameworks = [],
|
||||||
|
info_plist = None,
|
||||||
|
info_plist_substitutions = {},
|
||||||
|
modular = True,
|
||||||
|
compiler_flags = None,
|
||||||
|
platform_compiler_flags = None,
|
||||||
|
swift_compiler_flags = None,
|
||||||
|
warning_as_error = False,
|
||||||
|
suppress_warnings = True):
|
||||||
|
apple_lib(
|
||||||
|
name = name,
|
||||||
|
srcs = srcs,
|
||||||
|
has_cpp = has_cpp,
|
||||||
|
exported_headers = exported_headers,
|
||||||
|
headers = headers,
|
||||||
|
modular = modular,
|
||||||
|
compiler_flags = compiler_flags,
|
||||||
|
platform_compiler_flags = platform_compiler_flags,
|
||||||
|
swift_compiler_flags = swift_compiler_flags,
|
||||||
|
extra_xcode_files = extra_xcode_files,
|
||||||
|
deps = deps,
|
||||||
|
additional_linker_flags = additional_linker_flags,
|
||||||
|
frameworks = frameworks,
|
||||||
|
warning_as_error = warning_as_error,
|
||||||
|
suppress_warnings = suppress_warnings
|
||||||
|
)
|
||||||
|
|
||||||
|
def framework(
|
||||||
|
name,
|
||||||
|
visibility = ["PUBLIC"],
|
||||||
|
has_cpp = False,
|
||||||
|
srcs = [],
|
||||||
|
headers = [],
|
||||||
|
exported_headers = [],
|
||||||
|
extra_xcode_files = [],
|
||||||
|
deps = [],
|
||||||
|
exported_deps = [],
|
||||||
|
additional_linker_flags = None,
|
||||||
|
frameworks = [],
|
||||||
|
info_plist = None,
|
||||||
|
info_plist_substitutions = {},
|
||||||
|
modular = True,
|
||||||
|
compiler_flags = None,
|
||||||
|
platform_compiler_flags = None,
|
||||||
|
swift_compiler_flags = None,
|
||||||
|
warning_as_error = False,
|
||||||
|
suppress_warnings = True):
|
||||||
|
apple_lib(
|
||||||
|
name = name,
|
||||||
|
srcs = srcs,
|
||||||
|
has_cpp = has_cpp,
|
||||||
|
exported_headers = exported_headers,
|
||||||
|
headers = headers,
|
||||||
|
modular = modular,
|
||||||
|
compiler_flags = compiler_flags,
|
||||||
|
platform_compiler_flags = platform_compiler_flags,
|
||||||
|
swift_compiler_flags = swift_compiler_flags,
|
||||||
|
extra_xcode_files = extra_xcode_files,
|
||||||
|
deps = deps,
|
||||||
|
exported_deps = exported_deps,
|
||||||
|
additional_linker_flags = additional_linker_flags,
|
||||||
|
frameworks = frameworks,
|
||||||
|
warning_as_error = warning_as_error,
|
||||||
|
suppress_warnings = suppress_warnings,
|
||||||
|
framework = True
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
CXX_SRC_EXT = ["mm", "cpp", "S"]
|
||||||
|
def apple_cxx_lib(
|
||||||
|
srcs = [],
|
||||||
|
additional_exported_linker_flags = [],
|
||||||
|
**kwargs):
|
||||||
|
c_srcs, cxx_srcs = [], []
|
||||||
|
|
||||||
|
cxx_compile_flags = native.read_config("cxx", "cxxflags").split(" ")
|
||||||
|
cxx_compile_flags.append("-w")
|
||||||
|
|
||||||
|
for file_ in srcs:
|
||||||
|
if file_.split(".")[-1] in CXX_SRC_EXT:
|
||||||
|
cxx_srcs.append((file_, cxx_compile_flags))
|
||||||
|
else:
|
||||||
|
c_srcs.append(file_)
|
||||||
|
apple_lib(
|
||||||
|
srcs = c_srcs + cxx_srcs,
|
||||||
|
exported_linker_flags = [
|
||||||
|
"-lc++",
|
||||||
|
"-lz"
|
||||||
|
] + additional_exported_linker_flags,
|
||||||
|
**kwargs
|
||||||
|
)
|
||||||
|
|
||||||
|
def framework_binary_dependencies(names):
|
||||||
|
result = []
|
||||||
|
for name in names:
|
||||||
|
result.append(name + "#shared")
|
||||||
|
return result
|
||||||
|
|
||||||
|
def framework_bundle_dependencies(names):
|
||||||
|
result = []
|
||||||
|
if native.read_config("custom", "mode") == "project":
|
||||||
|
for name in names:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
for name in names:
|
||||||
|
result.append(name + "#shared")
|
||||||
|
return result
|
||||||
|
|
||||||
|
def gen_header_targets(header_paths, prefix, flavor, source_rule, source_path):
|
||||||
|
result = dict()
|
||||||
|
for header_path in header_paths:
|
||||||
|
name = prefix + header_path.replace('/', '_sub_')
|
||||||
|
native.genrule(
|
||||||
|
name = name + flavor,
|
||||||
|
cmd = 'cp $(location :' + source_rule + ')/' + source_path + '/' + header_path + ' $OUT',
|
||||||
|
out = name,
|
||||||
|
)
|
||||||
|
result[header_path] = ':' + name + flavor
|
||||||
|
return result
|
||||||
|
|
||||||
|
def merge_maps(dicts):
|
||||||
|
result = dict()
|
||||||
|
for d in dicts:
|
||||||
|
for key in d:
|
||||||
|
if key in result and result[key] != d[key]:
|
||||||
|
fail(
|
||||||
|
"Conflicting files in file search paths. " +
|
||||||
|
"\"%s\" maps to both \"%s\" and \"%s\"." %
|
||||||
|
(key, result[key], d[key]),
|
||||||
|
)
|
||||||
|
result.update(d)
|
||||||
|
return result
|
||||||
|
|
||||||
|
def basename(p):
|
||||||
|
return p.rpartition("/")[-1]
|
||||||
|
|
||||||
|
def glob_map(glob_results):
|
||||||
|
result = dict()
|
||||||
|
for path in glob_results:
|
||||||
|
file_name = basename(path)
|
||||||
|
if file_name in result:
|
||||||
|
fail('\"%s\" maps to both \"%s\" and \"%s\"' % (file_name, result[file_name], path))
|
||||||
|
result[file_name] = path
|
||||||
|
return result
|
||||||
|
|
||||||
|
def glob_sub_map(prefix, glob_specs):
|
||||||
|
result = dict()
|
||||||
|
for path in native.glob(glob_specs):
|
||||||
|
if not path.startswith(prefix):
|
||||||
|
fail('\"%s\" does not start with \"%s\"' % (path, prefix))
|
||||||
|
file_key = path[len(prefix):]
|
||||||
|
if file_key in result:
|
||||||
|
fail('\"%s\" maps to both \"%s\" and \"%s\"' % (file_key, result[file_key], path))
|
||||||
|
result[file_key] = path
|
||||||
|
return result
|
457
Config/configs.bzl
Normal file
@ -0,0 +1,457 @@
|
|||||||
|
load("//Config:utils.bzl", "config_with_updated_linker_flags", "configs_with_config")
|
||||||
|
load("//Config:app_configuration.bzl", "appConfig")
|
||||||
|
|
||||||
|
DEVELOPMENT_LANGUAGE = "en"
|
||||||
|
|
||||||
|
def merge_dict(a, b):
|
||||||
|
d = {}
|
||||||
|
d.update(a)
|
||||||
|
d.update(b)
|
||||||
|
return d
|
||||||
|
|
||||||
|
def pretty(dict, current = ""):
|
||||||
|
current = "\n"
|
||||||
|
indent = 0
|
||||||
|
for key, value in dict.items():
|
||||||
|
current = current + str(key) + ": "
|
||||||
|
if type(value) == type({}):
|
||||||
|
current = current + "\n"
|
||||||
|
indent = 1
|
||||||
|
for key2, value2 in value.items():
|
||||||
|
current = current + "\t" * indent + str(key2)
|
||||||
|
current = current + ": " + str(value2) + "\n"
|
||||||
|
else:
|
||||||
|
current = current + "\t" * (indent + 1) + str(value) + "\n"
|
||||||
|
|
||||||
|
return current
|
||||||
|
|
||||||
|
SHARED_CONFIGS = {
|
||||||
|
"IPHONEOS_DEPLOYMENT_TARGET": "8.0",
|
||||||
|
"SDKROOT": "iphoneos",
|
||||||
|
"GCC_OPTIMIZATION_LEVEL": "0",
|
||||||
|
"SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
|
||||||
|
"ONLY_ACTIVE_ARCH": "YES",
|
||||||
|
"LD_RUNPATH_SEARCH_PATHS": "@executable_path/Frameworks",
|
||||||
|
"ENABLE_BITCODE": "NO",
|
||||||
|
}
|
||||||
|
|
||||||
|
def optimization_config():
|
||||||
|
return {
|
||||||
|
"SWIFT_OPTIMIZATION_LEVEL": native.read_config("custom", "optimization"),
|
||||||
|
}
|
||||||
|
|
||||||
|
# Adding `-all_load` to our binaries works around https://bugs.swift.org/browse/SR-6004.
|
||||||
|
ALL_LOAD_LINKER_FLAG = "-all_load"
|
||||||
|
|
||||||
|
def read_config_nonempty(name):
|
||||||
|
value = native.read_config("custom", name)
|
||||||
|
if value == None:
|
||||||
|
fail("Configuration paramter custom.%s should be defined" % name)
|
||||||
|
elif len(value) == 0:
|
||||||
|
fail("Configuration paramter custom.%s should not be empty" % name)
|
||||||
|
else:
|
||||||
|
return value
|
||||||
|
|
||||||
|
def get_codesign_identity(environment):
|
||||||
|
if environment == "development":
|
||||||
|
return read_config_nonempty("developmentCodeSignIdentity")
|
||||||
|
elif environment == "distribution":
|
||||||
|
return read_config_nonempty("distributionCodeSignIdentity")
|
||||||
|
else:
|
||||||
|
fail("Unknown environment " + environment)
|
||||||
|
|
||||||
|
def get_provisioning_profile(environment, type):
|
||||||
|
if type == "app":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileApp")
|
||||||
|
elif type == "share":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileExtensionShare")
|
||||||
|
elif type == "widget":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileExtensionWidget")
|
||||||
|
elif type == "notification_service":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileExtensionNotificationService")
|
||||||
|
elif type == "notification_content":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileExtensionNotificationContent")
|
||||||
|
elif type == "intents":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileExtensionIntents")
|
||||||
|
elif type == "watch_app":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileWatchApp")
|
||||||
|
elif type == "watch_extension":
|
||||||
|
return read_config_nonempty(environment + "ProvisioningProfileWatchExtension")
|
||||||
|
else:
|
||||||
|
fail("Unknown provisioning profile type " + type)
|
||||||
|
|
||||||
|
def get_development_team():
|
||||||
|
return read_config_nonempty("developmentTeam")
|
||||||
|
|
||||||
|
def add_item_to_subdict(superdict, key, subkey, item):
|
||||||
|
subdict = dict(superdict[key])
|
||||||
|
subdict[subkey] = item
|
||||||
|
superdict[key] = subdict
|
||||||
|
|
||||||
|
valid_configurations = ["Debug", "Profile", "Release"]
|
||||||
|
|
||||||
|
def add_provisioning_profile_specifier(configs, type):
|
||||||
|
for configuration in configs:
|
||||||
|
if configuration not in valid_configurations:
|
||||||
|
fail("Unknown configuration " + configuration)
|
||||||
|
|
||||||
|
configs = dict(configs)
|
||||||
|
for configuration in valid_configurations:
|
||||||
|
if configuration == "Debug":
|
||||||
|
add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="development", type=type))
|
||||||
|
elif configuration == "Profile":
|
||||||
|
add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="development", type=type))
|
||||||
|
elif configuration == "Release":
|
||||||
|
add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="distribution", type=type))
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def add_codesign_identity(configs):
|
||||||
|
for configuration in configs:
|
||||||
|
if configuration not in valid_configurations:
|
||||||
|
fail("Unknown configuration " + configuration)
|
||||||
|
|
||||||
|
configs = dict(configs)
|
||||||
|
for configuration in valid_configurations:
|
||||||
|
if configuration == "Debug":
|
||||||
|
add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="development"))
|
||||||
|
elif configuration == "Profile":
|
||||||
|
add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="development"))
|
||||||
|
elif configuration == "Release":
|
||||||
|
add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="distribution"))
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def get_codesign_entitlements(type):
|
||||||
|
if type == "app":
|
||||||
|
return read_config_nonempty("entitlementsApp")
|
||||||
|
elif type == "share":
|
||||||
|
return read_config_nonempty("entitlementsExtensionShare")
|
||||||
|
elif type == "widget":
|
||||||
|
return read_config_nonempty("entitlementsExtensionWidget")
|
||||||
|
elif type == "notification_service":
|
||||||
|
return read_config_nonempty("entitlementsExtensionNotificationService")
|
||||||
|
elif type == "notification_content":
|
||||||
|
return read_config_nonempty("entitlementsExtensionNotificationContent")
|
||||||
|
elif type == "intents":
|
||||||
|
return read_config_nonempty("entitlementsExtensionIntents")
|
||||||
|
else:
|
||||||
|
fail("unknown provisioning profile type")
|
||||||
|
|
||||||
|
def get_build_number():
|
||||||
|
return read_config_nonempty("buildNumber")
|
||||||
|
|
||||||
|
def bundle_identifier(suffix):
|
||||||
|
return read_config_nonempty("baseApplicationBundleId") + suffix
|
||||||
|
|
||||||
|
def library_configs():
|
||||||
|
lib_specific_config = {
|
||||||
|
"SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
|
||||||
|
|
||||||
|
# Setting SKIP_INSTALL to NO for static library configs would create
|
||||||
|
# create a generic xcode archive which can not be uploaded the app store
|
||||||
|
# https://developer.apple.com/library/archive/technotes/tn2215/_index.html
|
||||||
|
"SKIP_INSTALL": "YES",
|
||||||
|
}
|
||||||
|
library_config = merge_dict(SHARED_CONFIGS, lib_specific_config)
|
||||||
|
library_config = merge_dict(library_config, optimization_config())
|
||||||
|
configs = {
|
||||||
|
"Debug": library_config,
|
||||||
|
"Profile": library_config,
|
||||||
|
"Release": library_config,
|
||||||
|
}
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def dynamic_library_configs():
|
||||||
|
lib_specific_config = {
|
||||||
|
"SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
|
||||||
|
|
||||||
|
# Setting SKIP_INSTALL to NO for static library configs would create
|
||||||
|
# create a generic xcode archive which can not be uploaded the app store
|
||||||
|
# https://developer.apple.com/library/archive/technotes/tn2215/_index.html
|
||||||
|
"SKIP_INSTALL": "YES",
|
||||||
|
"MACH_O_TYPE": "mh_dylib",
|
||||||
|
"CODE_SIGNING_ALLOWED": "NO",
|
||||||
|
}
|
||||||
|
|
||||||
|
library_config = merge_dict(SHARED_CONFIGS, lib_specific_config)
|
||||||
|
library_config = merge_dict(library_config, optimization_config())
|
||||||
|
#library_config = config_with_updated_linker_flags(library_config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = {
|
||||||
|
"Debug": library_config,
|
||||||
|
"Profile": library_config,
|
||||||
|
"Release": library_config,
|
||||||
|
}
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def app_binary_configs():
|
||||||
|
config = {
|
||||||
|
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "YES",
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
|
||||||
|
"CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("app"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon",
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"PRODUCT_NAME": "Telegram",
|
||||||
|
"TARGETED_DEVICE_FAMILY": "1,2",
|
||||||
|
}
|
||||||
|
config = merge_dict(SHARED_CONFIGS, config)
|
||||||
|
config = merge_dict(config, optimization_config())
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "app")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def share_extension_configs():
|
||||||
|
config = {
|
||||||
|
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Share"),
|
||||||
|
"CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("share"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"PRODUCT_NAME": "ShareExtension",
|
||||||
|
}
|
||||||
|
config = merge_dict(SHARED_CONFIGS, config)
|
||||||
|
config = merge_dict(config, optimization_config())
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "share")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def widget_extension_configs():
|
||||||
|
config = {
|
||||||
|
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Widget"),
|
||||||
|
"CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("widget"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"PRODUCT_NAME": "WidgetExtension",
|
||||||
|
}
|
||||||
|
config = merge_dict(SHARED_CONFIGS, config)
|
||||||
|
config = merge_dict(config, optimization_config())
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "widget")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def notification_content_extension_configs():
|
||||||
|
config = {
|
||||||
|
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationContent"),
|
||||||
|
"CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("notification_content"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"PRODUCT_NAME": "NotificationContentExtension",
|
||||||
|
}
|
||||||
|
config = merge_dict(SHARED_CONFIGS, config)
|
||||||
|
config = merge_dict(config, optimization_config())
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "notification_content")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def notification_service_extension_configs():
|
||||||
|
config = {
|
||||||
|
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationService"),
|
||||||
|
"CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("notification_service"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"PRODUCT_NAME": "NotificationServiceExtension",
|
||||||
|
}
|
||||||
|
config = merge_dict(SHARED_CONFIGS, config)
|
||||||
|
config = merge_dict(config, optimization_config())
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "notification_service")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def intents_extension_configs():
|
||||||
|
config = {
|
||||||
|
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".SiriIntents"),
|
||||||
|
"CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("intents"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"PRODUCT_NAME": "IntentsExtension",
|
||||||
|
}
|
||||||
|
config = merge_dict(SHARED_CONFIGS, config)
|
||||||
|
config = merge_dict(config, optimization_config())
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "intents")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def watch_extension_binary_configs():
|
||||||
|
config = {
|
||||||
|
"SDKROOT": "watchos",
|
||||||
|
"WATCHOS_DEPLOYMENT_TARGET": "4.0",
|
||||||
|
"TARGETED_DEVICE_FAMILY": "4",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp.watchkitextension"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"LD_RUNPATH_SEARCH_PATHS": "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks",
|
||||||
|
"WK_COMPANION_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
|
||||||
|
"WK_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"APP_BUNDLE_ID": bundle_identifier(suffix=""),
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"ENABLE_BITCODE": "YES",
|
||||||
|
}
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "watch_extension")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def watch_binary_configs():
|
||||||
|
config = {
|
||||||
|
"SDKROOT": "watchos",
|
||||||
|
"WATCHOS_DEPLOYMENT_TARGET": "4.0",
|
||||||
|
"TARGETED_DEVICE_FAMILY": "4",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"),
|
||||||
|
"DEVELOPMENT_TEAM": get_development_team(),
|
||||||
|
"LD_RUNPATH_SEARCH_PATHS": "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks",
|
||||||
|
"WK_COMPANION_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
|
||||||
|
"WK_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"APP_BUNDLE_ID": bundle_identifier(suffix=""),
|
||||||
|
"ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon",
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"ENABLE_BITCODE": "YES",
|
||||||
|
}
|
||||||
|
config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
|
||||||
|
configs = configs_with_config(config)
|
||||||
|
configs = add_provisioning_profile_specifier(configs, "watch_app")
|
||||||
|
configs = add_codesign_identity(configs)
|
||||||
|
return configs
|
||||||
|
|
||||||
|
def info_plist_substitutions(name):
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": name,
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(name),
|
||||||
|
"PRODUCT_NAME": name,
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def app_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "Telegram",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
|
||||||
|
"PRODUCT_NAME": "Telegram",
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon",
|
||||||
|
"TARGETED_DEVICE_FAMILY": "1,2",
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def share_extension_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "ShareExtension",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Share"),
|
||||||
|
"PRODUCT_NAME": "Share",
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def widget_extension_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "WidgetExtension",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Widget"),
|
||||||
|
"PRODUCT_NAME": "Widget",
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def notification_content_extension_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "NotificationContentExtension",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationContent"),
|
||||||
|
"PRODUCT_NAME": "Telegram",
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def notification_service_extension_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "NotificationServiceExtension",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationService"),
|
||||||
|
"PRODUCT_NAME": "Telegram",
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def intents_extension_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "IntentsExtension",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".SiriIntents"),
|
||||||
|
"PRODUCT_NAME": "Telegram",
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
"PRODUCT_MODULE_NAME": "SiriIntents",
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def watch_extension_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "WatchAppExtension",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp.watchkitextension"),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"APP_BUNDLE_ID": bundle_identifier(suffix=""),
|
||||||
|
"PRODUCT_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
}
|
||||||
|
return substitutions
|
||||||
|
|
||||||
|
def watch_info_plist_substitutions():
|
||||||
|
substitutions = {
|
||||||
|
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
|
||||||
|
"EXECUTABLE_NAME": "WatchApp",
|
||||||
|
"PRODUCT_BUNDLE_IDENTIFIER":bundle_identifier(suffix=".watchkitapp"),
|
||||||
|
"APP_NAME": "Telegram",
|
||||||
|
"APP_BUNDLE_ID": bundle_identifier(suffix=""),
|
||||||
|
"PRODUCT_NAME": "Telegram",
|
||||||
|
"CURRENT_PROJECT_VERSION": "1",
|
||||||
|
"BUILD_NUMBER": get_build_number(),
|
||||||
|
}
|
||||||
|
return substitutions
|
35
Config/utils.bzl
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
OTHER_LINKER_FLAGS_KEY = 'OTHER_LDFLAGS'
|
||||||
|
|
||||||
|
def configs_with_config(config):
|
||||||
|
return {
|
||||||
|
"Debug": config,
|
||||||
|
"Profile": config,
|
||||||
|
"Release": config,
|
||||||
|
}
|
||||||
|
|
||||||
|
def configs_with_updated_linker_flags(configs, other_linker_flags):
|
||||||
|
if other_linker_flags == None:
|
||||||
|
return configs
|
||||||
|
else:
|
||||||
|
updated_configs = { }
|
||||||
|
for build_configuration in configs:
|
||||||
|
updated_configs[build_configuration] = config_with_updated_linker_flags(
|
||||||
|
configs[build_configuration],
|
||||||
|
other_linker_flags)
|
||||||
|
return updated_configs
|
||||||
|
|
||||||
|
def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHER_LINKER_FLAGS_KEY):
|
||||||
|
new_config = { }
|
||||||
|
config_key_found = False
|
||||||
|
for key in config:
|
||||||
|
if key == config_key:
|
||||||
|
new_config[key] = config[key] + (" %s" % other_linker_flags)
|
||||||
|
config_key_found = True
|
||||||
|
else:
|
||||||
|
new_config[key] = config[key]
|
||||||
|
|
||||||
|
if config_key_found == False:
|
||||||
|
# If `config` does not currently contain `config_key`, add it. Inherit for good measure.
|
||||||
|
new_config[config_key] = '$(inherited) ' + other_linker_flags
|
||||||
|
|
||||||
|
return new_config
|
264
Makefile
Normal file
@ -0,0 +1,264 @@
|
|||||||
|
.PHONY : check_env build build_arm64 build_debug_arm64 package package_arm64 app app_arm64 app_debug_arm64 build_buckdebug build_verbose kill_xcode clean project project_buckdebug temp
|
||||||
|
|
||||||
|
|
||||||
|
BUCK_DEBUG_OPTIONS=\
|
||||||
|
--config custom.other_cflags="-O0 -D DEBUG" \
|
||||||
|
--config custom.other_cxxflags="-O0 -D DEBUG" \
|
||||||
|
--config custom.optimization="-Onone" \
|
||||||
|
--config custom.config_swift_compiler_flags=""
|
||||||
|
|
||||||
|
BUCK_RELEASE_OPTIONS=\
|
||||||
|
--config custom.other_cflags="-Os" \
|
||||||
|
--config custom.other_cxxflags="-Os" \
|
||||||
|
--config custom.optimization="-O" \
|
||||||
|
--config custom.config_swift_compiler_flags="-whole-module-optimization"
|
||||||
|
|
||||||
|
BUCK_OPTIONS=\
|
||||||
|
--config custom.developmentCodeSignIdentity="${DEVELOPMENT_CODE_SIGN_IDENTITY}" \
|
||||||
|
--config custom.distributionCodeSignIdentity="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
|
||||||
|
--config custom.developmentTeam="${DEVELOPMENT_TEAM}" \
|
||||||
|
--config custom.baseApplicationBundleId="${BUNDLE_ID}" \
|
||||||
|
--config custom.apiId="${API_ID}" \
|
||||||
|
--config custom.apiHash="${API_HASH}" \
|
||||||
|
--config custom.hockeyAppId="${HOCKEYAPP_ID}" \
|
||||||
|
--config custom.isInternalBuild="${IS_INTERNAL_BUILD}" \
|
||||||
|
--config custom.isAppStoreBuild="${IS_APPSTORE_BUILD}" \
|
||||||
|
--config custom.appStoreId="${APPSTORE_ID}" \
|
||||||
|
--config custom.appSpecificUrlScheme="${APP_SPECIFIC_URL_SCHEME}" \
|
||||||
|
--config custom.buildNumber="${BUILD_NUMBER}" \
|
||||||
|
--config custom.entitlementsApp="${ENTITLEMENTS_APP}" \
|
||||||
|
--config custom.developmentProvisioningProfileApp="${DEVELOPMENT_PROVISIONING_PROFILE_APP}" \
|
||||||
|
--config custom.distributionProvisioningProfileApp="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
|
||||||
|
--config custom.entitlementsExtensionShare="${ENTITLEMENTS_EXTENSION_SHARE}" \
|
||||||
|
--config custom.developmentProvisioningProfileExtensionShare="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
|
||||||
|
--config custom.distributionProvisioningProfileExtensionShare="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
|
||||||
|
--config custom.entitlementsExtensionWidget="${ENTITLEMENTS_EXTENSION_WIDGET}" \
|
||||||
|
--config custom.developmentProvisioningProfileExtensionWidget="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
|
||||||
|
--config custom.distributionProvisioningProfileExtensionWidget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
|
||||||
|
--config custom.entitlementsExtensionNotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||||
|
--config custom.developmentProvisioningProfileExtensionNotificationService="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||||
|
--config custom.distributionProvisioningProfileExtensionNotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||||
|
--config custom.entitlementsExtensionNotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||||
|
--config custom.developmentProvisioningProfileExtensionNotificationContent="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||||
|
--config custom.distributionProvisioningProfileExtensionNotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||||
|
--config custom.entitlementsExtensionIntents="${ENTITLEMENTS_EXTENSION_INTENTS}" \
|
||||||
|
--config custom.developmentProvisioningProfileExtensionIntents="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
|
||||||
|
--config custom.distributionProvisioningProfileExtensionIntents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
|
||||||
|
--config custom.developmentProvisioningProfileWatchApp="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP}" \
|
||||||
|
--config custom.distributionProvisioningProfileWatchApp="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
|
||||||
|
--config custom.developmentProvisioningProfileWatchExtension="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||||
|
--config custom.distributionProvisioningProfileWatchExtension="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}"
|
||||||
|
|
||||||
|
BUCK_THREADS_OPTIONS=--config build.threads=$(shell sysctl -n hw.logicalcpu)
|
||||||
|
|
||||||
|
BUCK_CACHE_OPTIONS=
|
||||||
|
|
||||||
|
ifneq ($(BUCK_HTTP_CACHE),)
|
||||||
|
ifeq ($(BUCK_CACHE_MODE),)
|
||||||
|
BUCK_CACHE_MODE=readwrite
|
||||||
|
endif
|
||||||
|
BUCK_CACHE_OPTIONS=\
|
||||||
|
--config cache.mode=http \
|
||||||
|
--config cache.http_url="$(BUCK_HTTP_CACHE)" \
|
||||||
|
--config cache.http_mode="$(BUCK_CACHE_MODE)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
check_env:
|
||||||
|
ifndef BUCK
|
||||||
|
$(error BUCK is not set)
|
||||||
|
endif
|
||||||
|
sh check_env.sh
|
||||||
|
|
||||||
|
build_arm64: check_env
|
||||||
|
$(BUCK) build \
|
||||||
|
//:AppPackage#iphoneos-arm64 \
|
||||||
|
//:Telegram#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
|
||||||
|
//:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
|
||||||
|
//:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
${BUCK_OPTIONS} ${BUCK_RELEASE_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
|
||||||
|
|
||||||
|
build_debug_arm64: check_env
|
||||||
|
$(BUCK) build \
|
||||||
|
//:AppPackage#iphoneos-arm64 \
|
||||||
|
//:Telegram#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
|
||||||
|
//:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
|
||||||
|
//:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
|
||||||
|
|
||||||
|
build: check_env
|
||||||
|
$(BUCK) build \
|
||||||
|
//:AppPackage#iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//:Telegram#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/Postbox:Postbox#shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/Display:Display#shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
|
||||||
|
//:ShareExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//:WidgetExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
//:IntentsExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
|
||||||
|
${BUCK_OPTIONS} ${BUCK_RELEASE_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
|
||||||
|
|
||||||
|
package_arm64:
|
||||||
|
PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
|
||||||
|
PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_APP="${ENTITLEMENTS_APP}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_Share="${ENTITLEMENTS_EXTENSION_SHARE}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_Widget="${ENTITLEMENTS_EXTENSION_WIDGET}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_Intents="${ENTITLEMENTS_EXTENSION_INTENTS}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||||
|
PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
|
||||||
|
sh package_app.sh iphoneos-arm64 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
|
||||||
|
|
||||||
|
package:
|
||||||
|
PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
|
||||||
|
PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_APP="${ENTITLEMENTS_APP}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_Share="${ENTITLEMENTS_EXTENSION_SHARE}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_Widget="${ENTITLEMENTS_EXTENSION_WIDGET}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
|
||||||
|
PACKAGE_ENTITLEMENTS_EXTENSION_Intents="${ENTITLEMENTS_EXTENSION_INTENTS}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
|
||||||
|
PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||||
|
PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
|
||||||
|
sh package_app.sh iphoneos-arm64,iphoneos-armv7 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
|
||||||
|
|
||||||
|
app: build package
|
||||||
|
|
||||||
|
app_arm64: build_arm64 package_arm64
|
||||||
|
|
||||||
|
app_debug_arm64: build_debug_arm64 package_arm64
|
||||||
|
|
||||||
|
build_buckdebug: check_env
|
||||||
|
BUCK_DEBUG_MODE=1 $(BUCK) build \
|
||||||
|
//:AppPackage#iphoneos-arm64 \
|
||||||
|
//:Telegram#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
|
||||||
|
//:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
|
||||||
|
//:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
--verbose 7 ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS}
|
||||||
|
|
||||||
|
build_verbose: check_env
|
||||||
|
$(BUCK) build \
|
||||||
|
//:AppPackage#iphoneos-arm64 \
|
||||||
|
//:Telegram#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Postbox:Postbox#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/Display:Display#shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
|
||||||
|
//submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
|
||||||
|
//:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
|
||||||
|
//:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
//:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||||
|
--verbose 8 ${BUCK_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_DEBUG_OPTIONS}
|
||||||
|
|
||||||
|
kill_xcode:
|
||||||
|
killall Xcode || true
|
||||||
|
|
||||||
|
clean: kill_xcode
|
||||||
|
sh clean.sh
|
||||||
|
|
||||||
|
project: check_env kill_xcode
|
||||||
|
$(BUCK) project //:workspace --config custom.mode=project ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS}
|
||||||
|
open Telegram_Buck.xcworkspace
|
||||||
|
|
||||||
|
project_buckdebug: check_env kill_xcode
|
||||||
|
BUCK_DEBUG_MODE=1 $(BUCK) project //:workspace --config custom.mode=project ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS}
|
||||||
|
open Telegram_Buck.xcworkspace
|
||||||
|
|
||||||
|
temp_project: check_env kill_xcode
|
||||||
|
$(BUCK) project //Temp:workspace --config custom.mode=project ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS}
|
||||||
|
open Temp/Telegram_Buck.xcworkspace
|
@ -1,260 +0,0 @@
|
|||||||
import Foundation
|
|
||||||
import Display
|
|
||||||
import TelegramCore
|
|
||||||
import TelegramUI
|
|
||||||
import Postbox
|
|
||||||
import SwiftSignalKit
|
|
||||||
|
|
||||||
private let accountCache = Atomic<[AccountRecordId: Account]>(value: [:])
|
|
||||||
|
|
||||||
private struct ChatHistoryFragmentEntry: Comparable, Identifiable {
|
|
||||||
let message: Message
|
|
||||||
let read: Bool
|
|
||||||
|
|
||||||
var stableId: UInt32 {
|
|
||||||
return self.message.stableId
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private func==(lhs: ChatHistoryFragmentEntry, rhs: ChatHistoryFragmentEntry) -> Bool {
|
|
||||||
if MessageIndex(lhs.message) == MessageIndex(rhs.message) && lhs.message.flags == rhs.message.flags {
|
|
||||||
if lhs.message.media.count != rhs.message.media.count {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if lhs.read != rhs.read {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
for i in 0 ..< lhs.message.media.count {
|
|
||||||
if !lhs.message.media[i].isEqual(rhs.message.media[i]) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private func <(lhs: ChatHistoryFragmentEntry, rhs: ChatHistoryFragmentEntry) -> Bool {
|
|
||||||
return MessageIndex(lhs.message) < MessageIndex(rhs.message)
|
|
||||||
}
|
|
||||||
|
|
||||||
private final class ChatHistoryFragmentDisplayItem {
|
|
||||||
fileprivate let item: ListViewItem
|
|
||||||
fileprivate var node: ListViewItemNode?
|
|
||||||
|
|
||||||
init(item: ListViewItem) {
|
|
||||||
self.item = item
|
|
||||||
}
|
|
||||||
|
|
||||||
init(item: ListViewItem, node: ListViewItemNode?) {
|
|
||||||
self.item = item
|
|
||||||
self.node = node
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final class ChatHistoryFragmentView: UIView {
|
|
||||||
private let sizeUpdated: (CGSize) -> Void
|
|
||||||
|
|
||||||
private var layoutWidth: CGFloat?
|
|
||||||
private var displayItems: [ChatHistoryFragmentDisplayItem] = []
|
|
||||||
|
|
||||||
private let disposable = MetaDisposable()
|
|
||||||
|
|
||||||
let account = Promise<Account>()
|
|
||||||
|
|
||||||
init(peerId: PeerId, width: CGFloat, sizeUpdated: @escaping (CGSize) -> Void) {
|
|
||||||
self.sizeUpdated = sizeUpdated
|
|
||||||
self.layoutWidth = width
|
|
||||||
|
|
||||||
super.init(frame: CGRect())
|
|
||||||
|
|
||||||
/*let appBundleIdentifier = Bundle.main.bundleIdentifier!
|
|
||||||
guard let lastDotRange = appBundleIdentifier.range(of: ".", options: [.backwards]) else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let appGroupName = "group.\(appBundleIdentifier.substring(to: lastDotRange.lowerBound))"
|
|
||||||
let maybeAppGroupUrl = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupName)
|
|
||||||
|
|
||||||
guard let appGroupUrl = maybeAppGroupUrl else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let accountPromise = self.account
|
|
||||||
|
|
||||||
let accountId = currentAccountId(appGroupPath: appGroupUrl.path, testingEnvironment: false)
|
|
||||||
|
|
||||||
let authorizedAccount: Signal<Account, NoError>
|
|
||||||
let cachedAccount = accountCache.with { dict -> Account? in
|
|
||||||
if let account = dict[accountId] {
|
|
||||||
return account
|
|
||||||
} else {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if let cachedAccount = cachedAccount {
|
|
||||||
authorizedAccount = .single(cachedAccount)
|
|
||||||
} else {
|
|
||||||
authorizedAccount = accountWithId(accountId, appGroupPath: appGroupUrl.path, logger: .named("notification-content"), testingEnvironment: false) |> mapToSignal { account -> Signal<Account, NoError> in
|
|
||||||
switch account {
|
|
||||||
case .left:
|
|
||||||
return .complete()
|
|
||||||
case let .right(authorizedAccount):
|
|
||||||
setupAccount(authorizedAccount)
|
|
||||||
let _ = accountCache.modify { dict in
|
|
||||||
var dict = dict
|
|
||||||
dict[accountId] = authorizedAccount
|
|
||||||
return dict
|
|
||||||
}
|
|
||||||
return .single(authorizedAccount)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let view = authorizedAccount
|
|
||||||
|> take(1)
|
|
||||||
|> mapToSignal { account -> Signal<(Account, MessageHistoryView, ViewUpdateType), NoError> in
|
|
||||||
accountPromise.set(.single(account))
|
|
||||||
account.stateManager.reset()
|
|
||||||
account.shouldBeServiceTaskMaster.set(.single(.now))
|
|
||||||
let view = account.viewTracker.aroundMessageHistoryViewForPeerId(peerId, index: MessageIndex.upperBound(peerId: peerId), count: 20, anchorIndex: MessageIndex.upperBound(peerId: peerId), fixedCombinedReadStates: nil, tagMask: nil)
|
|
||||||
|> map { view, updateType, _ -> (Account, MessageHistoryView, ViewUpdateType) in
|
|
||||||
return (account, view, updateType)
|
|
||||||
}
|
|
||||||
return view
|
|
||||||
}
|
|
||||||
|
|
||||||
let previousEntries = Atomic<[ChatHistoryFragmentEntry]>(value: [])
|
|
||||||
|
|
||||||
let controllerInteraction = ChatControllerInteraction(openMessage: { _ in }, openSecretMessagePreview: { _ in }, closeSecretMessagePreview: { }, openPeer: { _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _ in }, navigateToMessage: { _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _ in }, sendMessage: { _ in }, sendSticker: { _ in }, requestMessageActionCallback: { _ in }, openUrl: { _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _ in }, openHashtag: { _ in }, updateInputState: { _ in })
|
|
||||||
|
|
||||||
let messages = view
|
|
||||||
|> map { (account, view, viewUpdateType) -> (Account, [ChatHistoryFragmentEntry], [Int: Int]) in
|
|
||||||
var entries: [ChatHistoryFragmentEntry] = []
|
|
||||||
for entry in view.entries.reversed() {
|
|
||||||
switch entry {
|
|
||||||
case let .MessageEntry(message, read, _):
|
|
||||||
entries.append(ChatHistoryFragmentEntry(message: message, read: read))
|
|
||||||
default:
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var previousIndices: [Int: Int] = [:]
|
|
||||||
let _ = previousEntries.modify { previousEntries in
|
|
||||||
var index = 0
|
|
||||||
for entry in entries {
|
|
||||||
var previousIndex = 0
|
|
||||||
for previousEntry in previousEntries {
|
|
||||||
if previousEntry.stableId == entry.stableId {
|
|
||||||
previousIndices[index] = previousIndex
|
|
||||||
break
|
|
||||||
}
|
|
||||||
previousIndex += 1
|
|
||||||
}
|
|
||||||
index += 1
|
|
||||||
}
|
|
||||||
|
|
||||||
return entries
|
|
||||||
}
|
|
||||||
|
|
||||||
return (account, entries, previousIndices)
|
|
||||||
}
|
|
||||||
|
|
||||||
let displayItems = messages
|
|
||||||
|> map { (account, messages, previousIndices) -> ([ChatHistoryFragmentDisplayItem], [Int: Int]) in
|
|
||||||
var result: [ChatHistoryFragmentDisplayItem] = []
|
|
||||||
for entry in messages {
|
|
||||||
result.append(ChatHistoryFragmentDisplayItem(item: ChatMessageItem(account: account, peerId: peerId, controllerInteraction: controllerInteraction, message: entry.message, read: entry.read)))
|
|
||||||
}
|
|
||||||
return (result, previousIndices)
|
|
||||||
}
|
|
||||||
|
|
||||||
let semaphore = DispatchSemaphore(value: 0)
|
|
||||||
var resultItems: [ChatHistoryFragmentDisplayItem]?
|
|
||||||
disposable.set(displayItems.start(next: { [weak self] (displayItems, previousIndices) in
|
|
||||||
if resultItems == nil {
|
|
||||||
resultItems = displayItems
|
|
||||||
semaphore.signal()
|
|
||||||
} else {
|
|
||||||
Queue.mainQueue().async {
|
|
||||||
if let strongSelf = self {
|
|
||||||
var updatedDisplayItems: [ChatHistoryFragmentDisplayItem] = []
|
|
||||||
for i in 0 ..< displayItems.count {
|
|
||||||
if let previousIndex = previousIndices[i] {
|
|
||||||
updatedDisplayItems.append(ChatHistoryFragmentDisplayItem(item: displayItems[i].item, node: strongSelf.displayItems[previousIndex].node))
|
|
||||||
} else {
|
|
||||||
updatedDisplayItems.append(displayItems[i])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let previousIndexSet = Set(previousIndices.values)
|
|
||||||
for i in 0 ..< strongSelf.displayItems.count {
|
|
||||||
if !previousIndexSet.contains(i) {
|
|
||||||
strongSelf.displayItems[i].node?.removeFromSupernode()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
strongSelf.displayItems = updatedDisplayItems
|
|
||||||
if let layoutWidth = strongSelf.layoutWidth {
|
|
||||||
strongSelf.updateDisplayItems(width: layoutWidth)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
semaphore.wait()
|
|
||||||
if let resultItems = resultItems {
|
|
||||||
self.displayItems = resultItems
|
|
||||||
}
|
|
||||||
if let layoutWidth = self.layoutWidth {
|
|
||||||
self.updateDisplayItems(width: layoutWidth)
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder) {
|
|
||||||
fatalError("init(coder:) has not been implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
deinit {
|
|
||||||
self.disposable.dispose()
|
|
||||||
}
|
|
||||||
|
|
||||||
private func updateDisplayItems(width: CGFloat) {
|
|
||||||
for i in 0 ..< self.displayItems.count {
|
|
||||||
if let node = self.displayItems[i].node {
|
|
||||||
self.displayItems[i].item.updateNode(async: { $0() }, node: node, width: width, previousItem: i == 0 ? nil : self.displayItems[i - 1].item, nextItem: i == self.displayItems.count - 1 ? nil : self.displayItems[i + 1].item, animation: .None, completion: { layout, apply in
|
|
||||||
node.insets = layout.insets
|
|
||||||
node.contentSize = layout.contentSize
|
|
||||||
apply()
|
|
||||||
})
|
|
||||||
node.layoutForWidth(width, item: self.displayItems[i].item, previousItem: i == 0 ? nil : self.displayItems[i - 1].item, nextItem: i == self.displayItems.count - 1 ? nil : self.displayItems[i + 1].item)
|
|
||||||
} else {
|
|
||||||
self.displayItems[i].item.nodeConfiguredForWidth(async: { $0() }, width: width, previousItem: i == 0 ? nil : self.displayItems[i - 1].item, nextItem: i == self.displayItems.count - 1 ? nil : self.displayItems[i + 1].item, completion: { node, apply in
|
|
||||||
apply()
|
|
||||||
self.displayItems[i].node = node
|
|
||||||
self.addSubnode(node)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var verticalOffset: CGFloat = 4.0
|
|
||||||
for displayItem in self.displayItems {
|
|
||||||
if let node = displayItem.node {
|
|
||||||
node.frame = CGRect(origin: CGPoint(x: 0.0, y: verticalOffset), size: node.layout.size)
|
|
||||||
verticalOffset += node.layout.size.height
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let displaySize = CGSize(width: width, height: verticalOffset + 4.0)
|
|
||||||
self.sizeUpdated(displaySize)
|
|
||||||
}
|
|
||||||
|
|
||||||
override func layoutSubviews() {
|
|
||||||
super.layoutSubviews()
|
|
||||||
|
|
||||||
if self.layoutWidth != self.bounds.size.width {
|
|
||||||
self.layoutWidth = self.bounds.size.width
|
|
||||||
self.updateDisplayItems(width: self.bounds.size.width)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -17,7 +17,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>XPC!</string>
|
<string>XPC!</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>5.11</string>
|
<string>5.12</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${BUILD_NUMBER}</string>
|
<string>${BUILD_NUMBER}</string>
|
||||||
<key>NSExtension</key>
|
<key>NSExtension</key>
|
||||||
|
@ -5,6 +5,7 @@ import TelegramUI
|
|||||||
import BuildConfig
|
import BuildConfig
|
||||||
|
|
||||||
@objc(NotificationViewController)
|
@objc(NotificationViewController)
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
class NotificationViewController: UIViewController, UNNotificationContentExtension {
|
class NotificationViewController: UIViewController, UNNotificationContentExtension {
|
||||||
private var impl: NotificationViewControllerImpl?
|
private var impl: NotificationViewControllerImpl?
|
||||||
|
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
#import "Attachments.h"
|
#import "Attachments.h"
|
||||||
|
|
||||||
#import <MtProtoKitDynamic/MtProtoKitDynamic.h>
|
#ifdef BUCK
|
||||||
|
#import <MTProtoKit/MTProtoKit.h>
|
||||||
|
#else
|
||||||
|
#import <MTProtoKitDynamic/MTProtoKitDynamic.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#import "Api.h"
|
#import "Api.h"
|
||||||
|
|
||||||
id _Nullable parseAttachment(NSData * _Nonnull data) {
|
id _Nullable parseAttachment(NSData * _Nonnull data) {
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
#import "FetchImage.h"
|
#import "FetchImage.h"
|
||||||
|
|
||||||
|
#ifdef BUCK
|
||||||
|
#import <MTProtoKit/MTProtoKit.h>
|
||||||
|
#else
|
||||||
#import <MTProtoKitDynamic/MTProtoKitDynamic.h>
|
#import <MTProtoKitDynamic/MTProtoKitDynamic.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#import "Serialization.h"
|
#import "Serialization.h"
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>XPC!</string>
|
<string>XPC!</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>5.11</string>
|
<string>5.12</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${BUILD_NUMBER}</string>
|
<string>${BUILD_NUMBER}</string>
|
||||||
<key>NSExtension</key>
|
<key>NSExtension</key>
|
||||||
@ -27,5 +27,7 @@
|
|||||||
<key>NSExtensionPrincipalClass</key>
|
<key>NSExtensionPrincipalClass</key>
|
||||||
<string>NotificationService</string>
|
<string>NotificationService</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
<key>MinimumOSVersion</key>
|
||||||
|
<string>10.0</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#ifdef BUCK
|
||||||
|
#import <MTProtoKit/MTProtoKit.h>
|
||||||
|
#else
|
||||||
#import <MTProtoKitDynamic/MTProtoKitDynamic.h>
|
#import <MTProtoKitDynamic/MTProtoKitDynamic.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
@implementation Serialization
|
@implementation Serialization
|
||||||
|
|
||||||
- (NSUInteger)currentLayer {
|
- (NSUInteger)currentLayer {
|
||||||
return 105;
|
return 106;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id _Nullable)parseMessage:(NSData * _Nullable)data {
|
- (id _Nullable)parseMessage:(NSData * _Nullable)data {
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
#import "StoredAccountInfos.h"
|
#import "StoredAccountInfos.h"
|
||||||
|
|
||||||
#import <MtProtoKitDynamic/MtProtoKitDynamic.h>
|
#ifdef BUCK
|
||||||
|
#import <MTProtoKit/MTProtoKit.h>
|
||||||
|
#else
|
||||||
|
#import <MTProtoKitDynamic/MTProtoKitDynamic.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#import <CommonCrypto/CommonDigest.h>
|
#import <CommonCrypto/CommonDigest.h>
|
||||||
|
|
||||||
@implementation AccountNotificationKey
|
@implementation AccountNotificationKey
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>XPC!</string>
|
<string>XPC!</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>5.11</string>
|
<string>5.12</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${BUILD_NUMBER}</string>
|
<string>${BUILD_NUMBER}</string>
|
||||||
<key>NSExtension</key>
|
<key>NSExtension</key>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>XPC!</string>
|
<string>XPC!</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>5.11</string>
|
<string>5.12</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${BUILD_NUMBER}</string>
|
<string>${BUILD_NUMBER}</string>
|
||||||
<key>NSExtension</key>
|
<key>NSExtension</key>
|
||||||
|
@ -45,6 +45,7 @@ private func cleanPhoneNumber(_ text: String) -> String {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
func matchingDeviceContacts(stableIds: [String]) -> Signal<[MatchingDeviceContact], IntentContactsError> {
|
func matchingDeviceContacts(stableIds: [String]) -> Signal<[MatchingDeviceContact], IntentContactsError> {
|
||||||
guard CNContactStore.authorizationStatus(for: .contacts) == .authorized else {
|
guard CNContactStore.authorizationStatus(for: .contacts) == .authorized else {
|
||||||
return .fail(.generic)
|
return .fail(.generic)
|
||||||
@ -118,6 +119,7 @@ func matchingCloudContact(postbox: Postbox, peerId: PeerId) -> Signal<TelegramUs
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
func personWithUser(stableId: String, user: TelegramUser) -> INPerson {
|
func personWithUser(stableId: String, user: TelegramUser) -> INPerson {
|
||||||
var nameComponents = PersonNameComponents()
|
var nameComponents = PersonNameComponents()
|
||||||
nameComponents.givenName = user.firstName
|
nameComponents.givenName = user.firstName
|
||||||
|
@ -47,6 +47,7 @@ enum IntentHandlingError {
|
|||||||
case generic
|
case generic
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
class IntentHandler: INExtension, INSendMessageIntentHandling, INSearchForMessagesIntentHandling, INSetMessageAttributeIntentHandling, INStartAudioCallIntentHandling, INSearchCallHistoryIntentHandling {
|
class IntentHandler: INExtension, INSendMessageIntentHandling, INSearchForMessagesIntentHandling, INSetMessageAttributeIntentHandling, INStartAudioCallIntentHandling, INSearchCallHistoryIntentHandling {
|
||||||
private let accountPromise = Promise<Account?>()
|
private let accountPromise = Promise<Account?>()
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ extension MessageId {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
func getMessages(account: Account, ids: [MessageId]) -> Signal<[INMessage], NoError> {
|
func getMessages(account: Account, ids: [MessageId]) -> Signal<[INMessage], NoError> {
|
||||||
return account.postbox.transaction { transaction -> [INMessage] in
|
return account.postbox.transaction { transaction -> [INMessage] in
|
||||||
var messages: [INMessage] = []
|
var messages: [INMessage] = []
|
||||||
@ -28,6 +29,7 @@ func getMessages(account: Account, ids: [MessageId]) -> Signal<[INMessage], NoEr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
func unreadMessages(account: Account) -> Signal<[INMessage], NoError> {
|
func unreadMessages(account: Account) -> Signal<[INMessage], NoError> {
|
||||||
return account.postbox.tailChatListView(groupId: .root, count: 20, summaryComponents: ChatListEntrySummaryComponents())
|
return account.postbox.tailChatListView(groupId: .root, count: 20, summaryComponents: ChatListEntrySummaryComponents())
|
||||||
|> take(1)
|
|> take(1)
|
||||||
@ -86,6 +88,7 @@ func unreadMessages(account: Account) -> Signal<[INMessage], NoError> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
struct CallRecord {
|
struct CallRecord {
|
||||||
let identifier: String
|
let identifier: String
|
||||||
let date: Date
|
let date: Date
|
||||||
@ -99,6 +102,7 @@ struct CallRecord {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
func missedCalls(account: Account) -> Signal<[CallRecord], NoError> {
|
func missedCalls(account: Account) -> Signal<[CallRecord], NoError> {
|
||||||
return account.viewTracker.callListView(type: .missed, index: MessageIndex.absoluteUpperBound(), count: 30)
|
return account.viewTracker.callListView(type: .missed, index: MessageIndex.absoluteUpperBound(), count: 30)
|
||||||
|> take(1)
|
|> take(1)
|
||||||
@ -120,6 +124,7 @@ func missedCalls(account: Account) -> Signal<[CallRecord], NoError> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
private func callWithTelegramMessage(_ telegramMessage: Message, account: Account) -> CallRecord? {
|
private func callWithTelegramMessage(_ telegramMessage: Message, account: Account) -> CallRecord? {
|
||||||
guard let author = telegramMessage.author, let user = telegramMessage.peers[author.id] as? TelegramUser else {
|
guard let author = telegramMessage.author, let user = telegramMessage.peers[author.id] as? TelegramUser else {
|
||||||
return nil
|
return nil
|
||||||
@ -158,6 +163,7 @@ private func callWithTelegramMessage(_ telegramMessage: Message, account: Accoun
|
|||||||
return CallRecord(identifier: identifier, date: date, caller: caller, duration: duration, unseen: true)
|
return CallRecord(identifier: identifier, date: date, caller: caller, duration: duration, unseen: true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOSApplicationExtension 10.0, *)
|
||||||
private func messageWithTelegramMessage(_ telegramMessage: Message) -> INMessage? {
|
private func messageWithTelegramMessage(_ telegramMessage: Message) -> INMessage? {
|
||||||
guard let author = telegramMessage.author, let user = telegramMessage.peers[author.id] as? TelegramUser, user.id.id != 777000 else {
|
guard let author = telegramMessage.author, let user = telegramMessage.peers[author.id] as? TelegramUser, user.id.id != 777000 else {
|
||||||
return nil
|
return nil
|
||||||
|
1
SupportFiles/Empty.swift
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
@ -219,20 +219,20 @@
|
|||||||
09EC5CDA22CBBF9600292E42 /* telegram_plane1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 09EC5CD922CBBF9600292E42 /* telegram_plane1@2x.png */; };
|
09EC5CDA22CBBF9600292E42 /* telegram_plane1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 09EC5CD922CBBF9600292E42 /* telegram_plane1@2x.png */; };
|
||||||
09FDAEE62140477F00BF856F /* MtProtoKitDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09FDAEE52140477F00BF856F /* MtProtoKitDynamic.framework */; };
|
09FDAEE62140477F00BF856F /* MtProtoKitDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09FDAEE52140477F00BF856F /* MtProtoKitDynamic.framework */; };
|
||||||
D000CACF21FB6E380011B15D /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = D000CAC821FB6E370011B15D /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
D000CACF21FB6E380011B15D /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = D000CAC821FB6E370011B15D /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
D001D5AA1F878DA300DF975A /* PhoneCountries.txt in Resources */ = {isa = PBXBuildFile; fileRef = D001D5A91F878DA300DF975A /* PhoneCountries.txt */; };
|
|
||||||
D008185022B5797A008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008184F22B5797A008A895F /* BuildConfig.framework */; };
|
D008185022B5797A008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008184F22B5797A008A895F /* BuildConfig.framework */; };
|
||||||
D008185222B57986008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185122B57986008A895F /* BuildConfig.framework */; };
|
D008185222B57986008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185122B57986008A895F /* BuildConfig.framework */; };
|
||||||
D008185422B57994008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185322B57994008A895F /* BuildConfig.framework */; };
|
D008185422B57994008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185322B57994008A895F /* BuildConfig.framework */; };
|
||||||
D008185622B579A1008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185522B579A1008A895F /* BuildConfig.framework */; };
|
D008185622B579A1008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185522B579A1008A895F /* BuildConfig.framework */; };
|
||||||
D008185822B579AD008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185722B579AD008A895F /* BuildConfig.framework */; };
|
D008185822B579AD008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185722B579AD008A895F /* BuildConfig.framework */; };
|
||||||
D00818A522B58CCB008A895F /* WatchCommonWatch.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D00818A422B58CCB008A895F /* WatchCommonWatch.framework */; };
|
D00818A522B58CCB008A895F /* WatchCommonWatch.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D00818A422B58CCB008A895F /* WatchCommonWatch.framework */; };
|
||||||
D00859A91B28189D00EAF753 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D00859A81B28189D00EAF753 /* Images.xcassets */; };
|
D00859A91B28189D00EAF753 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D00859A81B28189D00EAF753 /* Icons.xcassets */; };
|
||||||
D00859AC1B28189D00EAF753 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = D00859AA1B28189D00EAF753 /* LaunchScreen.xib */; };
|
D00859AC1B28189D00EAF753 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = D00859AA1B28189D00EAF753 /* LaunchScreen.xib */; };
|
||||||
D00ED75A1FE94630001F38BD /* AppIntentVocabulary.plist in Resources */ = {isa = PBXBuildFile; fileRef = D00ED7581FE94630001F38BD /* AppIntentVocabulary.plist */; };
|
D00ED75A1FE94630001F38BD /* AppIntentVocabulary.plist in Resources */ = {isa = PBXBuildFile; fileRef = D00ED7581FE94630001F38BD /* AppIntentVocabulary.plist */; };
|
||||||
D00ED75D1FE95287001F38BD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D00ED75B1FE95287001F38BD /* InfoPlist.strings */; };
|
D00ED75D1FE95287001F38BD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D00ED75B1FE95287001F38BD /* InfoPlist.strings */; };
|
||||||
D015E04D225D2D8F00CB9E8A /* WebP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
D015E04D225D2D8F00CB9E8A /* WebP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||||
D015E050225D303F00CB9E8A /* WebP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; };
|
D015E050225D303F00CB9E8A /* WebP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; };
|
||||||
D015E051225D303F00CB9E8A /* WebP.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
D015E051225D303F00CB9E8A /* WebP.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
|
D01748C7231976B200AF3D3A /* LegacyComponentsResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D01748C6231976B100AF3D3A /* LegacyComponentsResources.bundle */; };
|
||||||
D021D4D9219CAEDD0064BEBA /* Config-Fork.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = D021D4D8219CAEDD0064BEBA /* Config-Fork.xcconfig */; };
|
D021D4D9219CAEDD0064BEBA /* Config-Fork.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = D021D4D8219CAEDD0064BEBA /* Config-Fork.xcconfig */; };
|
||||||
D02CF5FD215D9ABF00E0F56A /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AA1A671D568BA400152314 /* UserNotifications.framework */; };
|
D02CF5FD215D9ABF00E0F56A /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AA1A671D568BA400152314 /* UserNotifications.framework */; };
|
||||||
D02CF5FE215D9ABF00E0F56A /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AA1A691D568BA400152314 /* UserNotificationsUI.framework */; };
|
D02CF5FE215D9ABF00E0F56A /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AA1A691D568BA400152314 /* UserNotificationsUI.framework */; };
|
||||||
@ -400,8 +400,95 @@
|
|||||||
D0E8C2E02285EA6A009F26E8 /* BlackIcon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E8C2DF2285EA6A009F26E8 /* BlackIcon@3x.png */; };
|
D0E8C2E02285EA6A009F26E8 /* BlackIcon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E8C2DF2285EA6A009F26E8 /* BlackIcon@3x.png */; };
|
||||||
D0ECCB7F1FE9C38500609802 /* Telegram_iOS_UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ECCB7E1FE9C38500609802 /* Telegram_iOS_UITests.swift */; };
|
D0ECCB7F1FE9C38500609802 /* Telegram_iOS_UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ECCB7E1FE9C38500609802 /* Telegram_iOS_UITests.swift */; };
|
||||||
D0ECCB8A1FE9C4AC00609802 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ECCB891FE9C4AC00609802 /* SnapshotHelper.swift */; };
|
D0ECCB8A1FE9C4AC00609802 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ECCB891FE9C4AC00609802 /* SnapshotHelper.swift */; };
|
||||||
|
D0EFF27C2319835B00CF5164 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27B2319835A00CF5164 /* Images.xcassets */; };
|
||||||
|
D0EFF2D52319838800CF5164 /* PhoneCountries.txt in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27D2319838400CF5164 /* PhoneCountries.txt */; };
|
||||||
|
D0EFF2D62319838800CF5164 /* currencies.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27E2319838500CF5164 /* currencies.json */; };
|
||||||
|
D0EFF2D72319838800CF5164 /* Emoji.mapping in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27F2319838500CF5164 /* Emoji.mapping */; };
|
||||||
|
D0EFF2D82319838800CF5164 /* lol.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2812319838500CF5164 /* lol.tgs */; };
|
||||||
|
D0EFF2D92319838800CF5164 /* thumbsup.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2822319838500CF5164 /* thumbsup.tgs */; };
|
||||||
|
D0EFF2DA2319838800CF5164 /* poker.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2832319838500CF5164 /* poker.tgs */; };
|
||||||
|
D0EFF2DB2319838800CF5164 /* cry.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2842319838500CF5164 /* cry.tgs */; };
|
||||||
|
D0EFF2DC2319838800CF5164 /* meh.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2852319838500CF5164 /* meh.tgs */; };
|
||||||
|
D0EFF2DD2319838800CF5164 /* sad.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2862319838500CF5164 /* sad.tgs */; };
|
||||||
|
D0EFF2DE2319838800CF5164 /* surprised.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2872319838500CF5164 /* surprised.tgs */; };
|
||||||
|
D0EFF2DF2319838800CF5164 /* ok.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2882319838500CF5164 /* ok.tgs */; };
|
||||||
|
D0EFF2E02319838800CF5164 /* heart.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2892319838500CF5164 /* heart.tgs */; };
|
||||||
|
D0EFF2E12319838800CF5164 /* poop.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28A2319838500CF5164 /* poop.tgs */; };
|
||||||
|
D0EFF2E22319838800CF5164 /* celebrate.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28B2319838600CF5164 /* celebrate.tgs */; };
|
||||||
|
D0EFF2E32319838800CF5164 /* smile.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28C2319838600CF5164 /* smile.tgs */; };
|
||||||
|
D0EFF2E42319838800CF5164 /* ChatWallpaperBuiltin0.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28D2319838600CF5164 /* ChatWallpaperBuiltin0.jpg */; };
|
||||||
|
D0EFF2E52319838800CF5164 /* stp_card_visa_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28F2319838600CF5164 /* stp_card_visa_template@3x.png */; };
|
||||||
|
D0EFF2E62319838800CF5164 /* stp_card_form_back@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2902319838600CF5164 /* stp_card_form_back@3x.png */; };
|
||||||
|
D0EFF2E72319838800CF5164 /* stp_card_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2912319838600CF5164 /* stp_card_amex@3x.png */; };
|
||||||
|
D0EFF2E82319838800CF5164 /* stp_card_diners@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2922319838600CF5164 /* stp_card_diners@2x.png */; };
|
||||||
|
D0EFF2E92319838800CF5164 /* stp_card_diners_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2932319838600CF5164 /* stp_card_diners_template@2x.png */; };
|
||||||
|
D0EFF2EA2319838800CF5164 /* stp_card_amex_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2942319838600CF5164 /* stp_card_amex_template@3x.png */; };
|
||||||
|
D0EFF2EB2319838800CF5164 /* stp_card_diners_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2952319838600CF5164 /* stp_card_diners_template@3x.png */; };
|
||||||
|
D0EFF2EC2319838800CF5164 /* stp_card_amex_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2962319838600CF5164 /* stp_card_amex_template@2x.png */; };
|
||||||
|
D0EFF2ED2319838800CF5164 /* stp_card_diners@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2972319838600CF5164 /* stp_card_diners@3x.png */; };
|
||||||
|
D0EFF2EE2319838800CF5164 /* stp_card_amex@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2982319838600CF5164 /* stp_card_amex@2x.png */; };
|
||||||
|
D0EFF2EF2319838800CF5164 /* stp_card_form_back@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2992319838600CF5164 /* stp_card_form_back@2x.png */; };
|
||||||
|
D0EFF2F02319838800CF5164 /* stp_card_visa_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29A2319838600CF5164 /* stp_card_visa_template@2x.png */; };
|
||||||
|
D0EFF2F12319838800CF5164 /* stp_card_form_front@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29B2319838600CF5164 /* stp_card_form_front@2x.png */; };
|
||||||
|
D0EFF2F22319838800CF5164 /* stp_card_applepay_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29C2319838600CF5164 /* stp_card_applepay_template@2x.png */; };
|
||||||
|
D0EFF2F32319838800CF5164 /* stp_card_cvc_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29D2319838600CF5164 /* stp_card_cvc_amex@3x.png */; };
|
||||||
|
D0EFF2F42319838800CF5164 /* stp_card_discover@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29E2319838600CF5164 /* stp_card_discover@3x.png */; };
|
||||||
|
D0EFF2F52319838800CF5164 /* stp_card_cvc@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29F2319838600CF5164 /* stp_card_cvc@2x.png */; };
|
||||||
|
D0EFF2F62319838800CF5164 /* stp_card_jcb_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A02319838600CF5164 /* stp_card_jcb_template@3x.png */; };
|
||||||
|
D0EFF2F72319838800CF5164 /* stp_card_jcb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A12319838600CF5164 /* stp_card_jcb@3x.png */; };
|
||||||
|
D0EFF2F82319838800CF5164 /* stp_card_jcb@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A22319838600CF5164 /* stp_card_jcb@2x.png */; };
|
||||||
|
D0EFF2F92319838800CF5164 /* stp_card_cvc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A32319838600CF5164 /* stp_card_cvc@3x.png */; };
|
||||||
|
D0EFF2FA2319838800CF5164 /* stp_card_jcb_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A42319838600CF5164 /* stp_card_jcb_template@2x.png */; };
|
||||||
|
D0EFF2FB2319838800CF5164 /* stp_card_discover@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A52319838600CF5164 /* stp_card_discover@2x.png */; };
|
||||||
|
D0EFF2FC2319838800CF5164 /* stp_card_cvc_amex@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A62319838600CF5164 /* stp_card_cvc_amex@2x.png */; };
|
||||||
|
D0EFF2FD2319838800CF5164 /* stp_card_applepay_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A72319838600CF5164 /* stp_card_applepay_template@3x.png */; };
|
||||||
|
D0EFF2FE2319838800CF5164 /* stp_card_form_front@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A82319838600CF5164 /* stp_card_form_front@3x.png */; };
|
||||||
|
D0EFF2FF2319838800CF5164 /* stp_card_visa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A92319838600CF5164 /* stp_card_visa@3x.png */; };
|
||||||
|
D0EFF3002319838800CF5164 /* stp_card_placeholder_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AA2319838600CF5164 /* stp_card_placeholder_template@3x.png */; };
|
||||||
|
D0EFF3012319838800CF5164 /* stp_card_applepay@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AB2319838600CF5164 /* stp_card_applepay@2x.png */; };
|
||||||
|
D0EFF3022319838800CF5164 /* stp_card_applepay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AC2319838600CF5164 /* stp_card_applepay@3x.png */; };
|
||||||
|
D0EFF3032319838800CF5164 /* stp_card_placeholder_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AD2319838600CF5164 /* stp_card_placeholder_template@2x.png */; };
|
||||||
|
D0EFF3042319838800CF5164 /* stp_card_visa@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AE2319838600CF5164 /* stp_card_visa@2x.png */; };
|
||||||
|
D0EFF3052319838800CF5164 /* stp_card_mastercard_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AF2319838600CF5164 /* stp_card_mastercard_template@3x.png */; };
|
||||||
|
D0EFF3062319838800CF5164 /* stp_card_discover_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B02319838600CF5164 /* stp_card_discover_template@2x.png */; };
|
||||||
|
D0EFF3072319838800CF5164 /* stp_card_form_applepay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B12319838600CF5164 /* stp_card_form_applepay@3x.png */; };
|
||||||
|
D0EFF3082319838800CF5164 /* stp_card_mastercard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B22319838600CF5164 /* stp_card_mastercard@2x.png */; };
|
||||||
|
D0EFF3092319838800CF5164 /* stp_card_mastercard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B32319838600CF5164 /* stp_card_mastercard@3x.png */; };
|
||||||
|
D0EFF30A2319838800CF5164 /* stp_card_discover_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B42319838600CF5164 /* stp_card_discover_template@3x.png */; };
|
||||||
|
D0EFF30B2319838800CF5164 /* stp_card_form_applepay@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B52319838600CF5164 /* stp_card_form_applepay@2x.png */; };
|
||||||
|
D0EFF30C2319838800CF5164 /* stp_card_mastercard_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B62319838600CF5164 /* stp_card_mastercard_template@2x.png */; };
|
||||||
|
D0EFF30D2319838800CF5164 /* anim_read.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B82319838700CF5164 /* anim_read.json */; };
|
||||||
|
D0EFF30E2319838800CF5164 /* anim_archive.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B92319838700CF5164 /* anim_archive.json */; };
|
||||||
|
D0EFF30F2319838800CF5164 /* anim_pin.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BA2319838700CF5164 /* anim_pin.json */; };
|
||||||
|
D0EFF3102319838800CF5164 /* anim_infotip.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BB2319838700CF5164 /* anim_infotip.json */; };
|
||||||
|
D0EFF3112319838800CF5164 /* anim_unmute.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BC2319838700CF5164 /* anim_unmute.json */; };
|
||||||
|
D0EFF3122319838800CF5164 /* anim_unpin.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BD2319838700CF5164 /* anim_unpin.json */; };
|
||||||
|
D0EFF3132319838800CF5164 /* anim_success.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BE2319838700CF5164 /* anim_success.json */; };
|
||||||
|
D0EFF3142319838800CF5164 /* anim_unread.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BF2319838700CF5164 /* anim_unread.json */; };
|
||||||
|
D0EFF3152319838800CF5164 /* anim_archiveswipe.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C02319838700CF5164 /* anim_archiveswipe.json */; };
|
||||||
|
D0EFF3162319838800CF5164 /* anim_delete.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C12319838700CF5164 /* anim_delete.json */; };
|
||||||
|
D0EFF3172319838800CF5164 /* anim_archiveAvatar.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C22319838700CF5164 /* anim_archiveAvatar.json */; };
|
||||||
|
D0EFF3182319838800CF5164 /* anim_unarchive.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C32319838700CF5164 /* anim_unarchive.json */; };
|
||||||
|
D0EFF3192319838800CF5164 /* anim_ungroup.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C42319838700CF5164 /* anim_ungroup.json */; };
|
||||||
|
D0EFF31A2319838800CF5164 /* anim_hide.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C52319838700CF5164 /* anim_hide.json */; };
|
||||||
|
D0EFF31B2319838800CF5164 /* anim_group.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C62319838700CF5164 /* anim_group.json */; };
|
||||||
|
D0EFF31C2319838800CF5164 /* anim_mute.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C72319838700CF5164 /* anim_mute.json */; };
|
||||||
|
D0EFF31D2319838800CF5164 /* PresentationStrings.mapping in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C82319838700CF5164 /* PresentationStrings.mapping */; };
|
||||||
|
D0EFF31E2319838800CF5164 /* VimeoUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CA2319838700CF5164 /* VimeoUserScript.js */; };
|
||||||
|
D0EFF31F2319838800CF5164 /* TwitchUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CB2319838700CF5164 /* TwitchUserScript.js */; };
|
||||||
|
D0EFF3202319838800CF5164 /* Youtube.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CC2319838700CF5164 /* Youtube.html */; };
|
||||||
|
D0EFF3212319838800CF5164 /* Twitch.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CD2319838700CF5164 /* Twitch.html */; };
|
||||||
|
D0EFF3222319838800CF5164 /* Vimeo.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CE2319838700CF5164 /* Vimeo.html */; };
|
||||||
|
D0EFF3232319838800CF5164 /* Instagram.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CF2319838700CF5164 /* Instagram.html */; };
|
||||||
|
D0EFF3242319838800CF5164 /* Generic.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D02319838700CF5164 /* Generic.html */; };
|
||||||
|
D0EFF3252319838800CF5164 /* GenericUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D12319838700CF5164 /* GenericUserScript.js */; };
|
||||||
|
D0EFF3262319838800CF5164 /* YoutubeUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D22319838700CF5164 /* YoutubeUserScript.js */; };
|
||||||
|
D0EFF3272319838800CF5164 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D42319838700CF5164 /* SFCompactRounded-Semibold.otf */; };
|
||||||
|
D0EFF32B231983BF00CF5164 /* MessageSent.caf in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF329231983BF00CF5164 /* MessageSent.caf */; };
|
||||||
|
D0EFF32C231983BF00CF5164 /* notification.caf in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF32A231983BF00CF5164 /* notification.caf */; };
|
||||||
|
D0EFF33023198D3200CF5164 /* NavigationBackArrowLight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF32E23198D3200CF5164 /* NavigationBackArrowLight@2x.png */; };
|
||||||
|
D0EFF33123198D3200CF5164 /* NavigationShadow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF32F23198D3200CF5164 /* NavigationShadow@2x.png */; };
|
||||||
D0F575132083B96B00F1C1E1 /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0F575122083B96B00F1C1E1 /* CloudKit.framework */; };
|
D0F575132083B96B00F1C1E1 /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0F575122083B96B00F1C1E1 /* CloudKit.framework */; };
|
||||||
D0FC1948201D2DA800FEDBB2 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = D0FC1947201D2DA700FEDBB2 /* SFCompactRounded-Semibold.otf */; };
|
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@ -547,7 +634,6 @@
|
|||||||
094DDF5222E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = Localizable.strings; sourceTree = "<group>"; };
|
094DDF5222E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = Localizable.strings; sourceTree = "<group>"; };
|
||||||
094DDF5422E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = InfoPlist.strings; sourceTree = "<group>"; };
|
094DDF5422E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
094DDF5622E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = id; path = AppIntentVocabulary.plist; sourceTree = "<group>"; };
|
094DDF5622E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = id; path = AppIntentVocabulary.plist; sourceTree = "<group>"; };
|
||||||
0956AF2B217B4642008106D0 /* WatchCommunicationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchCommunicationManager.swift; sourceTree = "<group>"; };
|
|
||||||
0956AF2D217B8109008106D0 /* TGNeoUnsupportedMessageViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TGNeoUnsupportedMessageViewModel.h; sourceTree = "<group>"; };
|
0956AF2D217B8109008106D0 /* TGNeoUnsupportedMessageViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TGNeoUnsupportedMessageViewModel.h; sourceTree = "<group>"; };
|
||||||
0956AF2E217B8109008106D0 /* TGNeoUnsupportedMessageViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TGNeoUnsupportedMessageViewModel.m; sourceTree = "<group>"; };
|
0956AF2E217B8109008106D0 /* TGNeoUnsupportedMessageViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TGNeoUnsupportedMessageViewModel.m; sourceTree = "<group>"; };
|
||||||
0972C6DF21791D950069E98A /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS5.0.sdk/System/Library/Frameworks/UserNotifications.framework; sourceTree = DEVELOPER_DIR; };
|
0972C6DF21791D950069E98A /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS5.0.sdk/System/Library/Frameworks/UserNotifications.framework; sourceTree = DEVELOPER_DIR; };
|
||||||
@ -565,11 +651,8 @@
|
|||||||
09A4192D22B7A4D400637EB4 /* BlueClassicIconLargeIpad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlueClassicIconLargeIpad@2x.png"; sourceTree = "<group>"; };
|
09A4192D22B7A4D400637EB4 /* BlueClassicIconLargeIpad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlueClassicIconLargeIpad@2x.png"; sourceTree = "<group>"; };
|
||||||
09A4192E22B7A4D400637EB4 /* BlackClassicIconIpad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlackClassicIconIpad.png; sourceTree = "<group>"; };
|
09A4192E22B7A4D400637EB4 /* BlackClassicIconIpad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlackClassicIconIpad.png; sourceTree = "<group>"; };
|
||||||
09A4192F22B7A4D400637EB4 /* BlackClassicIconIpad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlackClassicIconIpad@2x.png"; sourceTree = "<group>"; };
|
09A4192F22B7A4D400637EB4 /* BlackClassicIconIpad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlackClassicIconIpad@2x.png"; sourceTree = "<group>"; };
|
||||||
09C50E7921738178009E676F /* TGBridgeServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGBridgeServer.h; sourceTree = "<group>"; };
|
|
||||||
09C50E7A21738178009E676F /* TGBridgeServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGBridgeServer.m; sourceTree = "<group>"; };
|
|
||||||
09C50E852173854D009E676F /* WatchKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WatchKit.framework; path = System/Library/Frameworks/WatchKit.framework; sourceTree = SDKROOT; };
|
09C50E852173854D009E676F /* WatchKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WatchKit.framework; path = System/Library/Frameworks/WatchKit.framework; sourceTree = SDKROOT; };
|
||||||
09C50E87217385CF009E676F /* WatchConnectivity.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WatchConnectivity.framework; path = System/Library/Frameworks/WatchConnectivity.framework; sourceTree = SDKROOT; };
|
09C50E87217385CF009E676F /* WatchConnectivity.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WatchConnectivity.framework; path = System/Library/Frameworks/WatchConnectivity.framework; sourceTree = SDKROOT; };
|
||||||
09C50E892173AEDB009E676F /* WatchRequestHandlers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchRequestHandlers.swift; sourceTree = "<group>"; };
|
|
||||||
09C56F8B2172797200BDF00F /* Watch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Watch.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
09C56F8B2172797200BDF00F /* Watch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Watch.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
09C56F8E2172797200BDF00F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = "<group>"; };
|
09C56F8E2172797200BDF00F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = "<group>"; };
|
||||||
09C56F902172797400BDF00F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
09C56F902172797400BDF00F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
@ -848,7 +931,6 @@
|
|||||||
09C573132172953800BDF00F /* TGBridgeStickerPack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TGBridgeStickerPack.h; path = Bridge/TGBridgeStickerPack.h; sourceTree = "<group>"; };
|
09C573132172953800BDF00F /* TGBridgeStickerPack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TGBridgeStickerPack.h; path = Bridge/TGBridgeStickerPack.h; sourceTree = "<group>"; };
|
||||||
09C573152172953800BDF00F /* TGBridgeLocationVenue+TGTableItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "TGBridgeLocationVenue+TGTableItem.h"; path = "Bridge/TGBridgeLocationVenue+TGTableItem.h"; sourceTree = "<group>"; };
|
09C573152172953800BDF00F /* TGBridgeLocationVenue+TGTableItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "TGBridgeLocationVenue+TGTableItem.h"; path = "Bridge/TGBridgeLocationVenue+TGTableItem.h"; sourceTree = "<group>"; };
|
||||||
09CFB211217299E80083F7A3 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS5.0.sdk/System/Library/Frameworks/CoreLocation.framework; sourceTree = DEVELOPER_DIR; };
|
09CFB211217299E80083F7A3 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS5.0.sdk/System/Library/Frameworks/CoreLocation.framework; sourceTree = DEVELOPER_DIR; };
|
||||||
09D304212174335F00C00567 /* WatchBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchBridge.swift; sourceTree = "<group>"; };
|
|
||||||
09E9600122C23FF000B13673 /* BlackNotificationIcon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlackNotificationIcon@3x.png"; sourceTree = "<group>"; };
|
09E9600122C23FF000B13673 /* BlackNotificationIcon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlackNotificationIcon@3x.png"; sourceTree = "<group>"; };
|
||||||
09E9600222C23FF000B13673 /* BlackNotificationIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlackNotificationIcon.png; sourceTree = "<group>"; };
|
09E9600222C23FF000B13673 /* BlackNotificationIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlackNotificationIcon.png; sourceTree = "<group>"; };
|
||||||
09E9600322C23FF000B13673 /* BlueNotificationIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlueNotificationIcon.png; sourceTree = "<group>"; };
|
09E9600322C23FF000B13673 /* BlueNotificationIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlueNotificationIcon.png; sourceTree = "<group>"; };
|
||||||
@ -881,7 +963,6 @@
|
|||||||
D000CAC221FB6E170011B15D /* NotificationService-AppStore.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NotificationService-AppStore.entitlements"; sourceTree = "<group>"; };
|
D000CAC221FB6E170011B15D /* NotificationService-AppStore.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NotificationService-AppStore.entitlements"; sourceTree = "<group>"; };
|
||||||
D000CAC321FB6E170011B15D /* NotificationService-AppStoreLLC.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NotificationService-AppStoreLLC.entitlements"; sourceTree = "<group>"; };
|
D000CAC321FB6E170011B15D /* NotificationService-AppStoreLLC.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NotificationService-AppStoreLLC.entitlements"; sourceTree = "<group>"; };
|
||||||
D000CAC821FB6E370011B15D /* NotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = NotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
D000CAC821FB6E370011B15D /* NotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = NotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D001D5A91F878DA300DF975A /* PhoneCountries.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PhoneCountries.txt; path = "Telegram-iOS/Resources/PhoneCountries.txt"; sourceTree = "<group>"; };
|
|
||||||
D006CFA121A8D12600FDCD32 /* ModernProto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ModernProto.framework; path = "../../../Library/Developer/Xcode/DerivedData/Telegram-iOS-ffbqcdyqpehxdvcwhyaorlehrrdc/Build/Products/Debug Hockeyapp-iphoneos/ModernProto.framework"; sourceTree = "<group>"; };
|
D006CFA121A8D12600FDCD32 /* ModernProto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ModernProto.framework; path = "../../../Library/Developer/Xcode/DerivedData/Telegram-iOS-ffbqcdyqpehxdvcwhyaorlehrrdc/Build/Products/Debug Hockeyapp-iphoneos/ModernProto.framework"; sourceTree = "<group>"; };
|
||||||
D008184B22B578EC008A895F /* WatchCommon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WatchCommon.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
D008184B22B578EC008A895F /* WatchCommon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WatchCommon.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D008184D22B5796E008A895F /* BuildConfig.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BuildConfig.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
D008184D22B5796E008A895F /* BuildConfig.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BuildConfig.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
@ -895,13 +976,14 @@
|
|||||||
D00818CE22B595DB008A895F /* LightweightAccountData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LightweightAccountData.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
D00818CE22B595DB008A895F /* LightweightAccountData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LightweightAccountData.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D008599C1B28189D00EAF753 /* Telegram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Telegram.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
D008599C1B28189D00EAF753 /* Telegram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Telegram.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D00859A01B28189D00EAF753 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
D00859A01B28189D00EAF753 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
D00859A81B28189D00EAF753 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
D00859A81B28189D00EAF753 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = "<group>"; };
|
||||||
D00859AB1B28189D00EAF753 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
|
D00859AB1B28189D00EAF753 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
|
||||||
D00859B61B28189D00EAF753 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
D00859B61B28189D00EAF753 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
D00859B71B28189D00EAF753 /* Telegram_iOSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Telegram_iOSTests.swift; sourceTree = "<group>"; };
|
D00859B71B28189D00EAF753 /* Telegram_iOSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Telegram_iOSTests.swift; sourceTree = "<group>"; };
|
||||||
D00ED7591FE94630001F38BD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = en; path = en.lproj/AppIntentVocabulary.plist; sourceTree = "<group>"; };
|
D00ED7591FE94630001F38BD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = en; path = en.lproj/AppIntentVocabulary.plist; sourceTree = "<group>"; };
|
||||||
D00ED75C1FE95287001F38BD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
D00ED75C1FE95287001F38BD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
D015E04C225D2D8F00CB9E8A /* WebP.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WebP.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
D015E04C225D2D8F00CB9E8A /* WebP.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WebP.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
D01748C6231976B100AF3D3A /* LegacyComponentsResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = LegacyComponentsResources.bundle; path = submodules/LegacyComponents/LegacyComponents/Resources/LegacyComponentsResources.bundle; sourceTree = "<group>"; };
|
||||||
D01A47521F4DBEB100383CC1 /* libHockeySDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libHockeySDK.a; path = "../../build/HockeySDK-iOS/Support/build/Debug-iphoneos/libHockeySDK.a"; sourceTree = "<group>"; };
|
D01A47521F4DBEB100383CC1 /* libHockeySDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libHockeySDK.a; path = "../../build/HockeySDK-iOS/Support/build/Debug-iphoneos/libHockeySDK.a"; sourceTree = "<group>"; };
|
||||||
D01A47541F4DBED700383CC1 /* HockeySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HockeySDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
D01A47541F4DBED700383CC1 /* HockeySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HockeySDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D021D4D7219CAEDD0064BEBA /* Telegram-iOS-Fork.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "Telegram-iOS-Fork.entitlements"; sourceTree = "<group>"; };
|
D021D4D7219CAEDD0064BEBA /* Telegram-iOS-Fork.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "Telegram-iOS-Fork.entitlements"; sourceTree = "<group>"; };
|
||||||
@ -1129,8 +1211,95 @@
|
|||||||
D0ECCB801FE9C38500609802 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
D0ECCB801FE9C38500609802 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
D0ECCB891FE9C4AC00609802 /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapshotHelper.swift; sourceTree = "<group>"; };
|
D0ECCB891FE9C4AC00609802 /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapshotHelper.swift; sourceTree = "<group>"; };
|
||||||
D0ED633C21FF3F28001D4648 /* NotificationService-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NotificationService-Bridging-Header.h"; sourceTree = "<group>"; };
|
D0ED633C21FF3F28001D4648 /* NotificationService-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NotificationService-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
|
D0EFF27B2319835A00CF5164 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = submodules/TelegramUI/Images.xcassets; sourceTree = "<group>"; };
|
||||||
|
D0EFF27D2319838400CF5164 /* PhoneCountries.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PhoneCountries.txt; path = submodules/TelegramUI/TelegramUI/Resources/PhoneCountries.txt; sourceTree = "<group>"; };
|
||||||
|
D0EFF27E2319838500CF5164 /* currencies.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = currencies.json; path = submodules/TelegramUI/TelegramUI/Resources/currencies.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF27F2319838500CF5164 /* Emoji.mapping */ = {isa = PBXFileReference; lastKnownFileType = file; name = Emoji.mapping; path = submodules/TelegramUI/TelegramUI/Resources/Emoji.mapping; sourceTree = "<group>"; };
|
||||||
|
D0EFF2812319838500CF5164 /* lol.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = lol.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2822319838500CF5164 /* thumbsup.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbsup.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2832319838500CF5164 /* poker.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = poker.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2842319838500CF5164 /* cry.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = cry.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2852319838500CF5164 /* meh.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = meh.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2862319838500CF5164 /* sad.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = sad.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2872319838500CF5164 /* surprised.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = surprised.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2882319838500CF5164 /* ok.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = ok.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF2892319838500CF5164 /* heart.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = heart.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF28A2319838500CF5164 /* poop.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = poop.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF28B2319838600CF5164 /* celebrate.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = celebrate.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF28C2319838600CF5164 /* smile.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = smile.tgs; sourceTree = "<group>"; };
|
||||||
|
D0EFF28D2319838600CF5164 /* ChatWallpaperBuiltin0.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = ChatWallpaperBuiltin0.jpg; path = submodules/TelegramUI/TelegramUI/Resources/ChatWallpaperBuiltin0.jpg; sourceTree = "<group>"; };
|
||||||
|
D0EFF28F2319838600CF5164 /* stp_card_visa_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2902319838600CF5164 /* stp_card_form_back@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_back@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2912319838600CF5164 /* stp_card_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2922319838600CF5164 /* stp_card_diners@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2932319838600CF5164 /* stp_card_diners_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2942319838600CF5164 /* stp_card_amex_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2952319838600CF5164 /* stp_card_diners_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2962319838600CF5164 /* stp_card_amex_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2972319838600CF5164 /* stp_card_diners@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2982319838600CF5164 /* stp_card_amex@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2992319838600CF5164 /* stp_card_form_back@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_back@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF29A2319838600CF5164 /* stp_card_visa_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF29B2319838600CF5164 /* stp_card_form_front@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_front@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF29C2319838600CF5164 /* stp_card_applepay_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF29D2319838600CF5164 /* stp_card_cvc_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc_amex@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF29E2319838600CF5164 /* stp_card_discover@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF29F2319838600CF5164 /* stp_card_cvc@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A02319838600CF5164 /* stp_card_jcb_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A12319838600CF5164 /* stp_card_jcb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A22319838600CF5164 /* stp_card_jcb@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A32319838600CF5164 /* stp_card_cvc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A42319838600CF5164 /* stp_card_jcb_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A52319838600CF5164 /* stp_card_discover@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A62319838600CF5164 /* stp_card_cvc_amex@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc_amex@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A72319838600CF5164 /* stp_card_applepay_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A82319838600CF5164 /* stp_card_form_front@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_front@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2A92319838600CF5164 /* stp_card_visa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2AA2319838600CF5164 /* stp_card_placeholder_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_placeholder_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2AB2319838600CF5164 /* stp_card_applepay@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2AC2319838600CF5164 /* stp_card_applepay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2AD2319838600CF5164 /* stp_card_placeholder_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_placeholder_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2AE2319838600CF5164 /* stp_card_visa@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2AF2319838600CF5164 /* stp_card_mastercard_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B02319838600CF5164 /* stp_card_discover_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B12319838600CF5164 /* stp_card_form_applepay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_applepay@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B22319838600CF5164 /* stp_card_mastercard@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B32319838600CF5164 /* stp_card_mastercard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B42319838600CF5164 /* stp_card_discover_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover_template@3x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B52319838600CF5164 /* stp_card_form_applepay@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_applepay@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B62319838600CF5164 /* stp_card_mastercard_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard_template@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B82319838700CF5164 /* anim_read.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_read.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2B92319838700CF5164 /* anim_archive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archive.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2BA2319838700CF5164 /* anim_pin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_pin.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2BB2319838700CF5164 /* anim_infotip.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_infotip.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2BC2319838700CF5164 /* anim_unmute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unmute.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2BD2319838700CF5164 /* anim_unpin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unpin.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2BE2319838700CF5164 /* anim_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_success.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2BF2319838700CF5164 /* anim_unread.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unread.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C02319838700CF5164 /* anim_archiveswipe.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archiveswipe.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C12319838700CF5164 /* anim_delete.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_delete.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C22319838700CF5164 /* anim_archiveAvatar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archiveAvatar.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C32319838700CF5164 /* anim_unarchive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unarchive.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C42319838700CF5164 /* anim_ungroup.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_ungroup.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C52319838700CF5164 /* anim_hide.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_hide.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C62319838700CF5164 /* anim_group.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_group.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C72319838700CF5164 /* anim_mute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_mute.json; sourceTree = "<group>"; };
|
||||||
|
D0EFF2C82319838700CF5164 /* PresentationStrings.mapping */ = {isa = PBXFileReference; lastKnownFileType = file; name = PresentationStrings.mapping; path = submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping; sourceTree = "<group>"; };
|
||||||
|
D0EFF2CA2319838700CF5164 /* VimeoUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = VimeoUserScript.js; sourceTree = "<group>"; };
|
||||||
|
D0EFF2CB2319838700CF5164 /* TwitchUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = TwitchUserScript.js; sourceTree = "<group>"; };
|
||||||
|
D0EFF2CC2319838700CF5164 /* Youtube.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Youtube.html; sourceTree = "<group>"; };
|
||||||
|
D0EFF2CD2319838700CF5164 /* Twitch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Twitch.html; sourceTree = "<group>"; };
|
||||||
|
D0EFF2CE2319838700CF5164 /* Vimeo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Vimeo.html; sourceTree = "<group>"; };
|
||||||
|
D0EFF2CF2319838700CF5164 /* Instagram.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Instagram.html; sourceTree = "<group>"; };
|
||||||
|
D0EFF2D02319838700CF5164 /* Generic.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Generic.html; sourceTree = "<group>"; };
|
||||||
|
D0EFF2D12319838700CF5164 /* GenericUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = GenericUserScript.js; sourceTree = "<group>"; };
|
||||||
|
D0EFF2D22319838700CF5164 /* YoutubeUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = YoutubeUserScript.js; sourceTree = "<group>"; };
|
||||||
|
D0EFF2D42319838700CF5164 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SFCompactRounded-Semibold.otf"; sourceTree = "<group>"; };
|
||||||
|
D0EFF329231983BF00CF5164 /* MessageSent.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = MessageSent.caf; sourceTree = "<group>"; };
|
||||||
|
D0EFF32A231983BF00CF5164 /* notification.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = notification.caf; sourceTree = "<group>"; };
|
||||||
|
D0EFF32E23198D3200CF5164 /* NavigationBackArrowLight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "NavigationBackArrowLight@2x.png"; path = "Telegram-iOS/Resources/NavigationBackArrowLight@2x.png"; sourceTree = "<group>"; };
|
||||||
|
D0EFF32F23198D3200CF5164 /* NavigationShadow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "NavigationShadow@2x.png"; path = "Telegram-iOS/Resources/NavigationShadow@2x.png"; sourceTree = "<group>"; };
|
||||||
D0F575122083B96B00F1C1E1 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
|
D0F575122083B96B00F1C1E1 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
|
||||||
D0FC1947201D2DA700FEDBB2 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "SFCompactRounded-Semibold.otf"; path = "Telegram-iOS/Resources/SFCompactRounded-Semibold.otf"; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -1369,18 +1538,6 @@
|
|||||||
name = "App Icons";
|
name = "App Icons";
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
09C50E7821738150009E676F /* Watch */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
0956AF2B217B4642008106D0 /* WatchCommunicationManager.swift */,
|
|
||||||
09C50E892173AEDB009E676F /* WatchRequestHandlers.swift */,
|
|
||||||
09D304212174335F00C00567 /* WatchBridge.swift */,
|
|
||||||
09C50E7921738178009E676F /* TGBridgeServer.h */,
|
|
||||||
09C50E7A21738178009E676F /* TGBridgeServer.m */,
|
|
||||||
);
|
|
||||||
name = Watch;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
09C56F8C2172797200BDF00F /* Watch */ = {
|
09C56F8C2172797200BDF00F /* Watch */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -1945,13 +2102,12 @@
|
|||||||
children = (
|
children = (
|
||||||
09A218E122A14E5600DE6898 /* App Icons */,
|
09A218E122A14E5600DE6898 /* App Icons */,
|
||||||
D0338729223A8347007A2CE4 /* Config */,
|
D0338729223A8347007A2CE4 /* Config */,
|
||||||
09C50E7821738150009E676F /* Watch */,
|
|
||||||
D021D4D8219CAEDD0064BEBA /* Config-Fork.xcconfig */,
|
D021D4D8219CAEDD0064BEBA /* Config-Fork.xcconfig */,
|
||||||
D0ADF913212B398000310BBC /* Telegram-iOS-AppStoreLLC.entitlements */,
|
D0ADF913212B398000310BBC /* Telegram-iOS-AppStoreLLC.entitlements */,
|
||||||
D079FD001F06BBD10038FADE /* Telegram-iOS-AppStore.entitlements */,
|
D079FD001F06BBD10038FADE /* Telegram-iOS-AppStore.entitlements */,
|
||||||
D0E3A7071B285B5000A402D9 /* Telegram-iOS-Hockeyapp.entitlements */,
|
D0E3A7071B285B5000A402D9 /* Telegram-iOS-Hockeyapp.entitlements */,
|
||||||
D021D4D7219CAEDD0064BEBA /* Telegram-iOS-Fork.entitlements */,
|
D021D4D7219CAEDD0064BEBA /* Telegram-iOS-Fork.entitlements */,
|
||||||
D00859A81B28189D00EAF753 /* Images.xcassets */,
|
D00859A81B28189D00EAF753 /* Icons.xcassets */,
|
||||||
D00859AA1B28189D00EAF753 /* LaunchScreen.xib */,
|
D00859AA1B28189D00EAF753 /* LaunchScreen.xib */,
|
||||||
D008599F1B28189D00EAF753 /* Supporting Files */,
|
D008599F1B28189D00EAF753 /* Supporting Files */,
|
||||||
);
|
);
|
||||||
@ -2085,14 +2241,27 @@
|
|||||||
D023EBB31DDB2F0E00BD496D /* Resources */ = {
|
D023EBB31DDB2F0E00BD496D /* Resources */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
D0EFF32E23198D3200CF5164 /* NavigationBackArrowLight@2x.png */,
|
||||||
|
D0EFF32F23198D3200CF5164 /* NavigationShadow@2x.png */,
|
||||||
|
D0EFF328231983BF00CF5164 /* Sounds */,
|
||||||
|
D0EFF2B72319838700CF5164 /* Animations */,
|
||||||
|
D0EFF2802319838500CF5164 /* BuiltinReactions */,
|
||||||
|
D0EFF28D2319838600CF5164 /* ChatWallpaperBuiltin0.jpg */,
|
||||||
|
D0EFF27E2319838500CF5164 /* currencies.json */,
|
||||||
|
D0EFF27F2319838500CF5164 /* Emoji.mapping */,
|
||||||
|
D0EFF2D32319838700CF5164 /* Fonts */,
|
||||||
|
D0EFF27D2319838400CF5164 /* PhoneCountries.txt */,
|
||||||
|
D0EFF2C82319838700CF5164 /* PresentationStrings.mapping */,
|
||||||
|
D0EFF28E2319838600CF5164 /* Stripe */,
|
||||||
|
D0EFF2C92319838700CF5164 /* WebEmbed */,
|
||||||
|
D0EFF27B2319835A00CF5164 /* Images.xcassets */,
|
||||||
|
D01748C6231976B100AF3D3A /* LegacyComponentsResources.bundle */,
|
||||||
D0E8B8AC2044496C00605593 /* voip_busy.caf */,
|
D0E8B8AC2044496C00605593 /* voip_busy.caf */,
|
||||||
D0E8B8A82044496B00605593 /* voip_connecting.mp3 */,
|
D0E8B8A82044496B00605593 /* voip_connecting.mp3 */,
|
||||||
D0E8B8A92044496C00605593 /* voip_end.caf */,
|
D0E8B8A92044496C00605593 /* voip_end.caf */,
|
||||||
D0E8B8AA2044496C00605593 /* voip_fail.caf */,
|
D0E8B8AA2044496C00605593 /* voip_fail.caf */,
|
||||||
D0E8B8AB2044496C00605593 /* voip_ringback.caf */,
|
D0E8B8AB2044496C00605593 /* voip_ringback.caf */,
|
||||||
D0FC1947201D2DA700FEDBB2 /* SFCompactRounded-Semibold.otf */,
|
|
||||||
D0CFBB921FD88C2900B65C0D /* begin_record.caf */,
|
D0CFBB921FD88C2900B65C0D /* begin_record.caf */,
|
||||||
D001D5A91F878DA300DF975A /* PhoneCountries.txt */,
|
|
||||||
D04DCC0A1F71C80000B021D7 /* notifications */,
|
D04DCC0A1F71C80000B021D7 /* notifications */,
|
||||||
D050F21B1E49DEDE00988324 /* intro */,
|
D050F21B1E49DEDE00988324 /* intro */,
|
||||||
);
|
);
|
||||||
@ -2480,6 +2649,134 @@
|
|||||||
path = "Telegram-iOS UITests";
|
path = "Telegram-iOS UITests";
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
D0EFF2802319838500CF5164 /* BuiltinReactions */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D0EFF2812319838500CF5164 /* lol.tgs */,
|
||||||
|
D0EFF2822319838500CF5164 /* thumbsup.tgs */,
|
||||||
|
D0EFF2832319838500CF5164 /* poker.tgs */,
|
||||||
|
D0EFF2842319838500CF5164 /* cry.tgs */,
|
||||||
|
D0EFF2852319838500CF5164 /* meh.tgs */,
|
||||||
|
D0EFF2862319838500CF5164 /* sad.tgs */,
|
||||||
|
D0EFF2872319838500CF5164 /* surprised.tgs */,
|
||||||
|
D0EFF2882319838500CF5164 /* ok.tgs */,
|
||||||
|
D0EFF2892319838500CF5164 /* heart.tgs */,
|
||||||
|
D0EFF28A2319838500CF5164 /* poop.tgs */,
|
||||||
|
D0EFF28B2319838600CF5164 /* celebrate.tgs */,
|
||||||
|
D0EFF28C2319838600CF5164 /* smile.tgs */,
|
||||||
|
);
|
||||||
|
name = BuiltinReactions;
|
||||||
|
path = submodules/TelegramUI/TelegramUI/Resources/BuiltinReactions;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D0EFF28E2319838600CF5164 /* Stripe */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D0EFF28F2319838600CF5164 /* stp_card_visa_template@3x.png */,
|
||||||
|
D0EFF2902319838600CF5164 /* stp_card_form_back@3x.png */,
|
||||||
|
D0EFF2912319838600CF5164 /* stp_card_amex@3x.png */,
|
||||||
|
D0EFF2922319838600CF5164 /* stp_card_diners@2x.png */,
|
||||||
|
D0EFF2932319838600CF5164 /* stp_card_diners_template@2x.png */,
|
||||||
|
D0EFF2942319838600CF5164 /* stp_card_amex_template@3x.png */,
|
||||||
|
D0EFF2952319838600CF5164 /* stp_card_diners_template@3x.png */,
|
||||||
|
D0EFF2962319838600CF5164 /* stp_card_amex_template@2x.png */,
|
||||||
|
D0EFF2972319838600CF5164 /* stp_card_diners@3x.png */,
|
||||||
|
D0EFF2982319838600CF5164 /* stp_card_amex@2x.png */,
|
||||||
|
D0EFF2992319838600CF5164 /* stp_card_form_back@2x.png */,
|
||||||
|
D0EFF29A2319838600CF5164 /* stp_card_visa_template@2x.png */,
|
||||||
|
D0EFF29B2319838600CF5164 /* stp_card_form_front@2x.png */,
|
||||||
|
D0EFF29C2319838600CF5164 /* stp_card_applepay_template@2x.png */,
|
||||||
|
D0EFF29D2319838600CF5164 /* stp_card_cvc_amex@3x.png */,
|
||||||
|
D0EFF29E2319838600CF5164 /* stp_card_discover@3x.png */,
|
||||||
|
D0EFF29F2319838600CF5164 /* stp_card_cvc@2x.png */,
|
||||||
|
D0EFF2A02319838600CF5164 /* stp_card_jcb_template@3x.png */,
|
||||||
|
D0EFF2A12319838600CF5164 /* stp_card_jcb@3x.png */,
|
||||||
|
D0EFF2A22319838600CF5164 /* stp_card_jcb@2x.png */,
|
||||||
|
D0EFF2A32319838600CF5164 /* stp_card_cvc@3x.png */,
|
||||||
|
D0EFF2A42319838600CF5164 /* stp_card_jcb_template@2x.png */,
|
||||||
|
D0EFF2A52319838600CF5164 /* stp_card_discover@2x.png */,
|
||||||
|
D0EFF2A62319838600CF5164 /* stp_card_cvc_amex@2x.png */,
|
||||||
|
D0EFF2A72319838600CF5164 /* stp_card_applepay_template@3x.png */,
|
||||||
|
D0EFF2A82319838600CF5164 /* stp_card_form_front@3x.png */,
|
||||||
|
D0EFF2A92319838600CF5164 /* stp_card_visa@3x.png */,
|
||||||
|
D0EFF2AA2319838600CF5164 /* stp_card_placeholder_template@3x.png */,
|
||||||
|
D0EFF2AB2319838600CF5164 /* stp_card_applepay@2x.png */,
|
||||||
|
D0EFF2AC2319838600CF5164 /* stp_card_applepay@3x.png */,
|
||||||
|
D0EFF2AD2319838600CF5164 /* stp_card_placeholder_template@2x.png */,
|
||||||
|
D0EFF2AE2319838600CF5164 /* stp_card_visa@2x.png */,
|
||||||
|
D0EFF2AF2319838600CF5164 /* stp_card_mastercard_template@3x.png */,
|
||||||
|
D0EFF2B02319838600CF5164 /* stp_card_discover_template@2x.png */,
|
||||||
|
D0EFF2B12319838600CF5164 /* stp_card_form_applepay@3x.png */,
|
||||||
|
D0EFF2B22319838600CF5164 /* stp_card_mastercard@2x.png */,
|
||||||
|
D0EFF2B32319838600CF5164 /* stp_card_mastercard@3x.png */,
|
||||||
|
D0EFF2B42319838600CF5164 /* stp_card_discover_template@3x.png */,
|
||||||
|
D0EFF2B52319838600CF5164 /* stp_card_form_applepay@2x.png */,
|
||||||
|
D0EFF2B62319838600CF5164 /* stp_card_mastercard_template@2x.png */,
|
||||||
|
);
|
||||||
|
name = Stripe;
|
||||||
|
path = submodules/TelegramUI/TelegramUI/Resources/Stripe;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D0EFF2B72319838700CF5164 /* Animations */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D0EFF2B82319838700CF5164 /* anim_read.json */,
|
||||||
|
D0EFF2B92319838700CF5164 /* anim_archive.json */,
|
||||||
|
D0EFF2BA2319838700CF5164 /* anim_pin.json */,
|
||||||
|
D0EFF2BB2319838700CF5164 /* anim_infotip.json */,
|
||||||
|
D0EFF2BC2319838700CF5164 /* anim_unmute.json */,
|
||||||
|
D0EFF2BD2319838700CF5164 /* anim_unpin.json */,
|
||||||
|
D0EFF2BE2319838700CF5164 /* anim_success.json */,
|
||||||
|
D0EFF2BF2319838700CF5164 /* anim_unread.json */,
|
||||||
|
D0EFF2C02319838700CF5164 /* anim_archiveswipe.json */,
|
||||||
|
D0EFF2C12319838700CF5164 /* anim_delete.json */,
|
||||||
|
D0EFF2C22319838700CF5164 /* anim_archiveAvatar.json */,
|
||||||
|
D0EFF2C32319838700CF5164 /* anim_unarchive.json */,
|
||||||
|
D0EFF2C42319838700CF5164 /* anim_ungroup.json */,
|
||||||
|
D0EFF2C52319838700CF5164 /* anim_hide.json */,
|
||||||
|
D0EFF2C62319838700CF5164 /* anim_group.json */,
|
||||||
|
D0EFF2C72319838700CF5164 /* anim_mute.json */,
|
||||||
|
);
|
||||||
|
name = Animations;
|
||||||
|
path = submodules/TelegramUI/TelegramUI/Resources/Animations;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D0EFF2C92319838700CF5164 /* WebEmbed */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D0EFF2CA2319838700CF5164 /* VimeoUserScript.js */,
|
||||||
|
D0EFF2CB2319838700CF5164 /* TwitchUserScript.js */,
|
||||||
|
D0EFF2CC2319838700CF5164 /* Youtube.html */,
|
||||||
|
D0EFF2CD2319838700CF5164 /* Twitch.html */,
|
||||||
|
D0EFF2CE2319838700CF5164 /* Vimeo.html */,
|
||||||
|
D0EFF2CF2319838700CF5164 /* Instagram.html */,
|
||||||
|
D0EFF2D02319838700CF5164 /* Generic.html */,
|
||||||
|
D0EFF2D12319838700CF5164 /* GenericUserScript.js */,
|
||||||
|
D0EFF2D22319838700CF5164 /* YoutubeUserScript.js */,
|
||||||
|
);
|
||||||
|
name = WebEmbed;
|
||||||
|
path = submodules/TelegramUI/TelegramUI/Resources/WebEmbed;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D0EFF2D32319838700CF5164 /* Fonts */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D0EFF2D42319838700CF5164 /* SFCompactRounded-Semibold.otf */,
|
||||||
|
);
|
||||||
|
name = Fonts;
|
||||||
|
path = submodules/TelegramUI/TelegramUI/Resources/Fonts;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D0EFF328231983BF00CF5164 /* Sounds */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D0EFF329231983BF00CF5164 /* MessageSent.caf */,
|
||||||
|
D0EFF32A231983BF00CF5164 /* notification.caf */,
|
||||||
|
);
|
||||||
|
name = Sounds;
|
||||||
|
path = submodules/TelegramUI/TelegramUI/Sounds;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
@ -2827,21 +3124,32 @@
|
|||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
D0CE6F6B213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F6B213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
|
D0EFF2E02319838800CF5164 /* heart.tgs in Resources */,
|
||||||
D08DB0AC213F4D1D00F2ADBF /* ic_bubble_dot@2x.png in Resources */,
|
D08DB0AC213F4D1D00F2ADBF /* ic_bubble_dot@2x.png in Resources */,
|
||||||
D08DB0B0213F4D1D00F2ADBF /* ic_pin@2x.png in Resources */,
|
D08DB0B0213F4D1D00F2ADBF /* ic_pin@2x.png in Resources */,
|
||||||
D04DCC211F71C80000B021D7 /* 0.m4a in Resources */,
|
D04DCC211F71C80000B021D7 /* 0.m4a in Resources */,
|
||||||
D04DCC261F71C80000B021D7 /* 103.m4a in Resources */,
|
D04DCC261F71C80000B021D7 /* 103.m4a in Resources */,
|
||||||
09A218F222A1570A00DE6898 /* BlueFilledIcon@2x.png in Resources */,
|
09A218F222A1570A00DE6898 /* BlueFilledIcon@2x.png in Resources */,
|
||||||
|
D0EFF2EC2319838800CF5164 /* stp_card_amex_template@2x.png in Resources */,
|
||||||
|
D0EFF30B2319838800CF5164 /* stp_card_form_applepay@2x.png in Resources */,
|
||||||
|
D0EFF2F52319838800CF5164 /* stp_card_cvc@2x.png in Resources */,
|
||||||
09E9600922C23FF200B13673 /* BlueNotificationIcon.png in Resources */,
|
09E9600922C23FF200B13673 /* BlueNotificationIcon.png in Resources */,
|
||||||
|
D0EFF30F2319838800CF5164 /* anim_pin.json in Resources */,
|
||||||
090E777722A6945900CD99F5 /* BlueClassicIcon@2x.png in Resources */,
|
090E777722A6945900CD99F5 /* BlueClassicIcon@2x.png in Resources */,
|
||||||
D0CE6F69213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
D0CE6F69213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
||||||
D08DB0C0213F4D1D00F2ADBF /* telegram_sphere@2x.png in Resources */,
|
D08DB0C0213F4D1D00F2ADBF /* telegram_sphere@2x.png in Resources */,
|
||||||
|
D0EFF3062319838800CF5164 /* stp_card_discover_template@2x.png in Resources */,
|
||||||
D08DB0AB213F4D1D00F2ADBF /* ic_bubble@2x.png in Resources */,
|
D08DB0AB213F4D1D00F2ADBF /* ic_bubble@2x.png in Resources */,
|
||||||
|
D0EFF32C231983BF00CF5164 /* notification.caf in Resources */,
|
||||||
D04DCC341F71C80000B021D7 /* 7.m4a in Resources */,
|
D04DCC341F71C80000B021D7 /* 7.m4a in Resources */,
|
||||||
09E9600722C23FF200B13673 /* BlackNotificationIcon@3x.png in Resources */,
|
09E9600722C23FF200B13673 /* BlackNotificationIcon@3x.png in Resources */,
|
||||||
09EBE2A522B004EA00F670AB /* BlueFilledIconIpad.png in Resources */,
|
09EBE2A522B004EA00F670AB /* BlueFilledIconIpad.png in Resources */,
|
||||||
094DDF5C22E8C310004B0256 /* AppIntentVocabulary.plist in Resources */,
|
094DDF5C22E8C310004B0256 /* AppIntentVocabulary.plist in Resources */,
|
||||||
094DDF3C22E7A98E004B0256 /* Localizable.strings in Resources */,
|
094DDF3C22E7A98E004B0256 /* Localizable.strings in Resources */,
|
||||||
|
D0EFF2F62319838800CF5164 /* stp_card_jcb_template@3x.png in Resources */,
|
||||||
|
D0EFF2D92319838800CF5164 /* thumbsup.tgs in Resources */,
|
||||||
|
D0EFF3022319838800CF5164 /* stp_card_applepay@3x.png in Resources */,
|
||||||
|
D0EFF2E62319838800CF5164 /* stp_card_form_back@3x.png in Resources */,
|
||||||
094DDF3422E7A61B004B0256 /* AppIntentVocabulary.plist in Resources */,
|
094DDF3422E7A61B004B0256 /* AppIntentVocabulary.plist in Resources */,
|
||||||
D0CE6F60213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
D0CE6F60213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
||||||
D0CE6F63213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
D0CE6F63213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
||||||
@ -2855,21 +3163,40 @@
|
|||||||
D0CE6F68213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F68213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
09A218EE22A1570A00DE6898 /* BlueFilledIcon@3x.png in Resources */,
|
09A218EE22A1570A00DE6898 /* BlueFilledIcon@3x.png in Resources */,
|
||||||
09E9600C22C23FF200B13673 /* BlueNotificationIcon@3x.png in Resources */,
|
09E9600C22C23FF200B13673 /* BlueNotificationIcon@3x.png in Resources */,
|
||||||
|
D0EFF2FE2319838800CF5164 /* stp_card_form_front@3x.png in Resources */,
|
||||||
09E9601422C2441000B13673 /* BlackClassicNotificationIcon@3x.png in Resources */,
|
09E9601422C2441000B13673 /* BlackClassicNotificationIcon@3x.png in Resources */,
|
||||||
D0CE6F6A213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F6A213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
|
D0EFF3132319838800CF5164 /* anim_success.json in Resources */,
|
||||||
|
D0EFF3212319838800CF5164 /* Twitch.html in Resources */,
|
||||||
|
D0EFF2FF2319838800CF5164 /* stp_card_visa@3x.png in Resources */,
|
||||||
|
D0EFF2F02319838800CF5164 /* stp_card_visa_template@2x.png in Resources */,
|
||||||
09A4193522B7A4D500637EB4 /* BlackClassicIconIpad@2x.png in Resources */,
|
09A4193522B7A4D500637EB4 /* BlackClassicIconIpad@2x.png in Resources */,
|
||||||
|
D0EFF3122319838800CF5164 /* anim_unpin.json in Resources */,
|
||||||
|
D0EFF3112319838800CF5164 /* anim_unmute.json in Resources */,
|
||||||
|
D0EFF2E32319838800CF5164 /* smile.tgs in Resources */,
|
||||||
|
D0EFF3142319838800CF5164 /* anim_unread.json in Resources */,
|
||||||
09E9601622C2441000B13673 /* BlueClassicNotificationIcon@2x.png in Resources */,
|
09E9601622C2441000B13673 /* BlueClassicNotificationIcon@2x.png in Resources */,
|
||||||
|
D0EFF2D52319838800CF5164 /* PhoneCountries.txt in Resources */,
|
||||||
09E9601322C2441000B13673 /* BlackClassicNotificationIcon@2x.png in Resources */,
|
09E9601322C2441000B13673 /* BlackClassicNotificationIcon@2x.png in Resources */,
|
||||||
|
D0EFF3052319838800CF5164 /* stp_card_mastercard_template@3x.png in Resources */,
|
||||||
D0E8C2DE2285EA55009F26E8 /* BlackIcon@2x.png in Resources */,
|
D0E8C2DE2285EA55009F26E8 /* BlackIcon@2x.png in Resources */,
|
||||||
|
D0EFF3272319838800CF5164 /* SFCompactRounded-Semibold.otf in Resources */,
|
||||||
D09DCBB71D0C856B00F51FFE /* Localizable.strings in Resources */,
|
D09DCBB71D0C856B00F51FFE /* Localizable.strings in Resources */,
|
||||||
094DDF5722E8C310004B0256 /* Localizable.strings in Resources */,
|
094DDF5722E8C310004B0256 /* Localizable.strings in Resources */,
|
||||||
|
D0EFF2E92319838800CF5164 /* stp_card_diners_template@2x.png in Resources */,
|
||||||
D0CE6F66213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
D0CE6F66213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
||||||
|
D0EFF2E72319838800CF5164 /* stp_card_amex@3x.png in Resources */,
|
||||||
D08DB0B8213F4D1D00F2ADBF /* powerful_mask@2x.png in Resources */,
|
D08DB0B8213F4D1D00F2ADBF /* powerful_mask@2x.png in Resources */,
|
||||||
D08DB0B4213F4D1D00F2ADBF /* knot_down@2x.png in Resources */,
|
D08DB0B4213F4D1D00F2ADBF /* knot_down@2x.png in Resources */,
|
||||||
|
D0EFF2DB2319838800CF5164 /* cry.tgs in Resources */,
|
||||||
|
D0EFF2F72319838800CF5164 /* stp_card_jcb@3x.png in Resources */,
|
||||||
094DDF4822E7A9A8004B0256 /* AppIntentVocabulary.plist in Resources */,
|
094DDF4822E7A9A8004B0256 /* AppIntentVocabulary.plist in Resources */,
|
||||||
09EC5CDA22CBBF9600292E42 /* telegram_plane1@2x.png in Resources */,
|
09EC5CDA22CBBF9600292E42 /* telegram_plane1@2x.png in Resources */,
|
||||||
|
D0EFF3082319838800CF5164 /* stp_card_mastercard@2x.png in Resources */,
|
||||||
D08DB0BC213F4D1D00F2ADBF /* start_arrow@2x.png in Resources */,
|
D08DB0BC213F4D1D00F2ADBF /* start_arrow@2x.png in Resources */,
|
||||||
|
D0EFF2FB2319838800CF5164 /* stp_card_discover@2x.png in Resources */,
|
||||||
D08DB0B6213F4D1D00F2ADBF /* powerful_infinity@2x.png in Resources */,
|
D08DB0B6213F4D1D00F2ADBF /* powerful_infinity@2x.png in Resources */,
|
||||||
|
D0EFF3042319838800CF5164 /* stp_card_visa@2x.png in Resources */,
|
||||||
094DDF5B22E8C310004B0256 /* InfoPlist.strings in Resources */,
|
094DDF5B22E8C310004B0256 /* InfoPlist.strings in Resources */,
|
||||||
09EBE2AA22B004EA00F670AB /* BlueIconLargeIpad@2x.png in Resources */,
|
09EBE2AA22B004EA00F670AB /* BlueIconLargeIpad@2x.png in Resources */,
|
||||||
D0CE6F5B213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F5B213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
@ -2877,10 +3204,13 @@
|
|||||||
094DDF5922E8C310004B0256 /* AppIntentVocabulary.plist in Resources */,
|
094DDF5922E8C310004B0256 /* AppIntentVocabulary.plist in Resources */,
|
||||||
09A4193422B7A4D500637EB4 /* BlackClassicIconIpad.png in Resources */,
|
09A4193422B7A4D500637EB4 /* BlackClassicIconIpad.png in Resources */,
|
||||||
094DDF4622E7A9A8004B0256 /* Localizable.strings in Resources */,
|
094DDF4622E7A9A8004B0256 /* Localizable.strings in Resources */,
|
||||||
|
D0EFF27C2319835B00CF5164 /* Images.xcassets in Resources */,
|
||||||
09A4193222B7A4D500637EB4 /* BlueClassicIconIpad.png in Resources */,
|
09A4193222B7A4D500637EB4 /* BlueClassicIconIpad.png in Resources */,
|
||||||
|
D0EFF2D82319838800CF5164 /* lol.tgs in Resources */,
|
||||||
D0CE6F62213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F62213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
D08DB0A8213F4D1D00F2ADBF /* fast_arrow_shadow@2x.png in Resources */,
|
D08DB0A8213F4D1D00F2ADBF /* fast_arrow_shadow@2x.png in Resources */,
|
||||||
D0CFBB931FD88C2900B65C0D /* begin_record.caf in Resources */,
|
D0CFBB931FD88C2900B65C0D /* begin_record.caf in Resources */,
|
||||||
|
D0EFF3002319838800CF5164 /* stp_card_placeholder_template@3x.png in Resources */,
|
||||||
D04DCC2C1F71C80000B021D7 /* 109.m4a in Resources */,
|
D04DCC2C1F71C80000B021D7 /* 109.m4a in Resources */,
|
||||||
D08DB0BD213F4D1D00F2ADBF /* start_arrow_ipad.png in Resources */,
|
D08DB0BD213F4D1D00F2ADBF /* start_arrow_ipad.png in Resources */,
|
||||||
09EBE2AB22B004EA00F670AB /* BlackIconLargeIpad@2x.png in Resources */,
|
09EBE2AB22B004EA00F670AB /* BlackIconLargeIpad@2x.png in Resources */,
|
||||||
@ -2888,92 +3218,146 @@
|
|||||||
D0CE6F64213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F64213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
D0CE6F6C213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
D0CE6F6C213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
||||||
094DDF3E22E7A98E004B0256 /* AppIntentVocabulary.plist in Resources */,
|
094DDF3E22E7A98E004B0256 /* AppIntentVocabulary.plist in Resources */,
|
||||||
|
D0EFF3252319838800CF5164 /* GenericUserScript.js in Resources */,
|
||||||
094DDF3D22E7A98E004B0256 /* InfoPlist.strings in Resources */,
|
094DDF3D22E7A98E004B0256 /* InfoPlist.strings in Resources */,
|
||||||
D04DCC231F71C80000B021D7 /* 100.m4a in Resources */,
|
D04DCC231F71C80000B021D7 /* 100.m4a in Resources */,
|
||||||
|
D0EFF2EF2319838800CF5164 /* stp_card_form_back@2x.png in Resources */,
|
||||||
|
D0EFF33123198D3200CF5164 /* NavigationShadow@2x.png in Resources */,
|
||||||
|
D0EFF31D2319838800CF5164 /* PresentationStrings.mapping in Resources */,
|
||||||
|
D0EFF2EE2319838800CF5164 /* stp_card_amex@2x.png in Resources */,
|
||||||
09E9600A22C23FF200B13673 /* BlueNotificationIcon@2x.png in Resources */,
|
09E9600A22C23FF200B13673 /* BlueNotificationIcon@2x.png in Resources */,
|
||||||
094DDF3222E7A61B004B0256 /* Localizable.strings in Resources */,
|
094DDF3222E7A61B004B0256 /* Localizable.strings in Resources */,
|
||||||
09A218EF22A1570A00DE6898 /* BlueIcon@2x.png in Resources */,
|
09A218EF22A1570A00DE6898 /* BlueIcon@2x.png in Resources */,
|
||||||
D04DCC281F71C80000B021D7 /* 105.m4a in Resources */,
|
D04DCC281F71C80000B021D7 /* 105.m4a in Resources */,
|
||||||
|
D0EFF32B231983BF00CF5164 /* MessageSent.caf in Resources */,
|
||||||
D08DB0BB213F4D1D00F2ADBF /* private_screw@2x.png in Resources */,
|
D08DB0BB213F4D1D00F2ADBF /* private_screw@2x.png in Resources */,
|
||||||
D0CE6F5F213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F5F213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
|
D0EFF2EA2319838800CF5164 /* stp_card_amex_template@3x.png in Resources */,
|
||||||
D04DCC2D1F71C80000B021D7 /* 110.m4a in Resources */,
|
D04DCC2D1F71C80000B021D7 /* 110.m4a in Resources */,
|
||||||
094DDF5A22E8C310004B0256 /* Localizable.strings in Resources */,
|
094DDF5A22E8C310004B0256 /* Localizable.strings in Resources */,
|
||||||
|
D0EFF2DF2319838800CF5164 /* ok.tgs in Resources */,
|
||||||
D04DCC2B1F71C80000B021D7 /* 108.m4a in Resources */,
|
D04DCC2B1F71C80000B021D7 /* 108.m4a in Resources */,
|
||||||
D00859AC1B28189D00EAF753 /* LaunchScreen.xib in Resources */,
|
D00859AC1B28189D00EAF753 /* LaunchScreen.xib in Resources */,
|
||||||
D08DB0B5213F4D1D00F2ADBF /* knot_up1@2x.png in Resources */,
|
D08DB0B5213F4D1D00F2ADBF /* knot_up1@2x.png in Resources */,
|
||||||
D0E8B8AD2044496C00605593 /* voip_connecting.mp3 in Resources */,
|
D0E8B8AD2044496C00605593 /* voip_connecting.mp3 in Resources */,
|
||||||
|
D0EFF31F2319838800CF5164 /* TwitchUserScript.js in Resources */,
|
||||||
|
D0EFF2F42319838800CF5164 /* stp_card_discover@3x.png in Resources */,
|
||||||
D08DB0BE213F4D1D00F2ADBF /* start_arrow_ipad@2x.png in Resources */,
|
D08DB0BE213F4D1D00F2ADBF /* start_arrow_ipad@2x.png in Resources */,
|
||||||
D08DB0A9213F4D1D00F2ADBF /* fast_body@2x.png in Resources */,
|
D08DB0A9213F4D1D00F2ADBF /* fast_body@2x.png in Resources */,
|
||||||
D04DCC321F71C80000B021D7 /* 5.m4a in Resources */,
|
D04DCC321F71C80000B021D7 /* 5.m4a in Resources */,
|
||||||
D04DCC241F71C80000B021D7 /* 101.m4a in Resources */,
|
D04DCC241F71C80000B021D7 /* 101.m4a in Resources */,
|
||||||
09A4193122B7A4D500637EB4 /* BlackClassicIconLargeIpad@2x.png in Resources */,
|
09A4193122B7A4D500637EB4 /* BlackClassicIconLargeIpad@2x.png in Resources */,
|
||||||
|
D0EFF3262319838800CF5164 /* YoutubeUserScript.js in Resources */,
|
||||||
|
D0EFF2E42319838800CF5164 /* ChatWallpaperBuiltin0.jpg in Resources */,
|
||||||
D04DCC351F71C80000B021D7 /* 8.m4a in Resources */,
|
D04DCC351F71C80000B021D7 /* 8.m4a in Resources */,
|
||||||
|
D0EFF3182319838800CF5164 /* anim_unarchive.json in Resources */,
|
||||||
|
D0EFF2DA2319838800CF5164 /* poker.tgs in Resources */,
|
||||||
D08DB0B1213F4D1D00F2ADBF /* ic_smile@2x.png in Resources */,
|
D08DB0B1213F4D1D00F2ADBF /* ic_smile@2x.png in Resources */,
|
||||||
|
D0EFF3102319838800CF5164 /* anim_infotip.json in Resources */,
|
||||||
|
D0EFF2DC2319838800CF5164 /* meh.tgs in Resources */,
|
||||||
09EBE2A722B004EA00F670AB /* BlueIconIpad.png in Resources */,
|
09EBE2A722B004EA00F670AB /* BlueIconIpad.png in Resources */,
|
||||||
|
D0EFF33023198D3200CF5164 /* NavigationBackArrowLight@2x.png in Resources */,
|
||||||
D0CE6F57213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
D0CE6F57213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
||||||
|
D0EFF2FD2319838800CF5164 /* stp_card_applepay_template@3x.png in Resources */,
|
||||||
D0CE6F59213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F59213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
D08DB0B9213F4D1D00F2ADBF /* powerful_star@2x.png in Resources */,
|
D08DB0B9213F4D1D00F2ADBF /* powerful_star@2x.png in Resources */,
|
||||||
D04DCC271F71C80000B021D7 /* 104.m4a in Resources */,
|
D04DCC271F71C80000B021D7 /* 104.m4a in Resources */,
|
||||||
09E9600B22C23FF200B13673 /* BlackNotificationIcon@2x.png in Resources */,
|
09E9600B22C23FF200B13673 /* BlackNotificationIcon@2x.png in Resources */,
|
||||||
090E777522A6945900CD99F5 /* BlueClassicIcon@3x.png in Resources */,
|
090E777522A6945900CD99F5 /* BlueClassicIcon@3x.png in Resources */,
|
||||||
|
D0EFF2F92319838800CF5164 /* stp_card_cvc@3x.png in Resources */,
|
||||||
|
D0EFF2FA2319838800CF5164 /* stp_card_jcb_template@2x.png in Resources */,
|
||||||
|
D0EFF2F12319838800CF5164 /* stp_card_form_front@2x.png in Resources */,
|
||||||
09A218F122A1570A00DE6898 /* BlackFilledIcon@3x.png in Resources */,
|
09A218F122A1570A00DE6898 /* BlackFilledIcon@3x.png in Resources */,
|
||||||
D04DCC2A1F71C80000B021D7 /* 107.m4a in Resources */,
|
D04DCC2A1F71C80000B021D7 /* 107.m4a in Resources */,
|
||||||
D08DB0BA213F4D1D00F2ADBF /* private_door@2x.png in Resources */,
|
D08DB0BA213F4D1D00F2ADBF /* private_door@2x.png in Resources */,
|
||||||
|
D0EFF2E52319838800CF5164 /* stp_card_visa_template@3x.png in Resources */,
|
||||||
09A218F022A1570A00DE6898 /* BlackFilledIcon@2x.png in Resources */,
|
09A218F022A1570A00DE6898 /* BlackFilledIcon@2x.png in Resources */,
|
||||||
|
D0EFF30C2319838800CF5164 /* stp_card_mastercard_template@2x.png in Resources */,
|
||||||
D08DB0AE213F4D1D00F2ADBF /* ic_cam_lens@2x.png in Resources */,
|
D08DB0AE213F4D1D00F2ADBF /* ic_cam_lens@2x.png in Resources */,
|
||||||
|
D0EFF3192319838800CF5164 /* anim_ungroup.json in Resources */,
|
||||||
|
D0EFF30D2319838800CF5164 /* anim_read.json in Resources */,
|
||||||
|
D0EFF2D72319838800CF5164 /* Emoji.mapping in Resources */,
|
||||||
|
D0EFF3202319838800CF5164 /* Youtube.html in Resources */,
|
||||||
09A218F322A1570A00DE6898 /* BlueIcon@3x.png in Resources */,
|
09A218F322A1570A00DE6898 /* BlueIcon@3x.png in Resources */,
|
||||||
|
D0EFF2F32319838800CF5164 /* stp_card_cvc_amex@3x.png in Resources */,
|
||||||
|
D0EFF2D62319838800CF5164 /* currencies.json in Resources */,
|
||||||
D04DCC2F1F71C80000B021D7 /* 2.m4a in Resources */,
|
D04DCC2F1F71C80000B021D7 /* 2.m4a in Resources */,
|
||||||
|
D0EFF2DE2319838800CF5164 /* surprised.tgs in Resources */,
|
||||||
09EBE2AC22B004EA00F670AB /* BlackIconIpad.png in Resources */,
|
09EBE2AC22B004EA00F670AB /* BlackIconIpad.png in Resources */,
|
||||||
|
D0EFF2E12319838800CF5164 /* poop.tgs in Resources */,
|
||||||
|
D0EFF31B2319838800CF5164 /* anim_group.json in Resources */,
|
||||||
09EBE2B022B004EA00F670AB /* BlueFilledIconLargeIpad@2x.png in Resources */,
|
09EBE2B022B004EA00F670AB /* BlueFilledIconLargeIpad@2x.png in Resources */,
|
||||||
|
D0EFF3222319838800CF5164 /* Vimeo.html in Resources */,
|
||||||
|
D0EFF2E22319838800CF5164 /* celebrate.tgs in Resources */,
|
||||||
D0CE6F58213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F58213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
D08DB0AF213F4D1D00F2ADBF /* ic_pencil@2x.png in Resources */,
|
D08DB0AF213F4D1D00F2ADBF /* ic_pencil@2x.png in Resources */,
|
||||||
094DDF5822E8C310004B0256 /* InfoPlist.strings in Resources */,
|
094DDF5822E8C310004B0256 /* InfoPlist.strings in Resources */,
|
||||||
|
D0EFF2DD2319838800CF5164 /* sad.tgs in Resources */,
|
||||||
09E9601822C2441000B13673 /* BlueClassicNotificationIcon@3x.png in Resources */,
|
09E9601822C2441000B13673 /* BlueClassicNotificationIcon@3x.png in Resources */,
|
||||||
|
D01748C7231976B200AF3D3A /* LegacyComponentsResources.bundle in Resources */,
|
||||||
D0CE6F67213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F67213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
|
D0EFF3242319838800CF5164 /* Generic.html in Resources */,
|
||||||
09A4193322B7A4D500637EB4 /* BlueClassicIconLargeIpad@2x.png in Resources */,
|
09A4193322B7A4D500637EB4 /* BlueClassicIconLargeIpad@2x.png in Resources */,
|
||||||
D04DCC291F71C80000B021D7 /* 106.m4a in Resources */,
|
D04DCC291F71C80000B021D7 /* 106.m4a in Resources */,
|
||||||
D0CE6F5E213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F5E213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
D052974622B0073F004ABAF6 /* WhiteFilledIcon@3x.png in Resources */,
|
D052974622B0073F004ABAF6 /* WhiteFilledIcon@3x.png in Resources */,
|
||||||
D08DB0B7213F4D1D00F2ADBF /* powerful_infinity_white@2x.png in Resources */,
|
D08DB0B7213F4D1D00F2ADBF /* powerful_infinity_white@2x.png in Resources */,
|
||||||
D00859A91B28189D00EAF753 /* Images.xcassets in Resources */,
|
D00859A91B28189D00EAF753 /* Icons.xcassets in Resources */,
|
||||||
094DDF0922E7A0D3004B0256 /* InfoPlist.strings in Resources */,
|
094DDF0922E7A0D3004B0256 /* InfoPlist.strings in Resources */,
|
||||||
D001D5AA1F878DA300DF975A /* PhoneCountries.txt in Resources */,
|
D0EFF3172319838800CF5164 /* anim_archiveAvatar.json in Resources */,
|
||||||
|
D0EFF3092319838800CF5164 /* stp_card_mastercard@3x.png in Resources */,
|
||||||
|
D0EFF2F22319838800CF5164 /* stp_card_applepay_template@2x.png in Resources */,
|
||||||
094DDF0822E7A0D3004B0256 /* Localizable.strings in Resources */,
|
094DDF0822E7A0D3004B0256 /* Localizable.strings in Resources */,
|
||||||
094DDF4722E7A9A8004B0256 /* InfoPlist.strings in Resources */,
|
094DDF4722E7A9A8004B0256 /* InfoPlist.strings in Resources */,
|
||||||
D0CE6F56213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F56213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
D0CE6F65213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F65213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
|
D0EFF31E2319838800CF5164 /* VimeoUserScript.js in Resources */,
|
||||||
D0E8B8B12044496C00605593 /* voip_busy.caf in Resources */,
|
D0E8B8B12044496C00605593 /* voip_busy.caf in Resources */,
|
||||||
|
D0EFF3072319838800CF5164 /* stp_card_form_applepay@3x.png in Resources */,
|
||||||
|
D0EFF3152319838800CF5164 /* anim_archiveswipe.json in Resources */,
|
||||||
|
D0EFF3032319838800CF5164 /* stp_card_placeholder_template@2x.png in Resources */,
|
||||||
09EBE2A622B004EA00F670AB /* BlueIconIpad@2x.png in Resources */,
|
09EBE2A622B004EA00F670AB /* BlueIconIpad@2x.png in Resources */,
|
||||||
D08DB0A7213F4D1D00F2ADBF /* fast_arrow@2x.png in Resources */,
|
D08DB0A7213F4D1D00F2ADBF /* fast_arrow@2x.png in Resources */,
|
||||||
094DDF0A22E7A0D3004B0256 /* AppIntentVocabulary.plist in Resources */,
|
094DDF0A22E7A0D3004B0256 /* AppIntentVocabulary.plist in Resources */,
|
||||||
D0E8B8AF2044496C00605593 /* voip_fail.caf in Resources */,
|
D0E8B8AF2044496C00605593 /* voip_fail.caf in Resources */,
|
||||||
D0CE6F55213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F55213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
|
D0EFF2E82319838800CF5164 /* stp_card_diners@2x.png in Resources */,
|
||||||
D08DB0B2213F4D1D00F2ADBF /* ic_smile_eye@2x.png in Resources */,
|
D08DB0B2213F4D1D00F2ADBF /* ic_smile_eye@2x.png in Resources */,
|
||||||
D08DB0B3213F4D1D00F2ADBF /* ic_videocam@2x.png in Resources */,
|
D08DB0B3213F4D1D00F2ADBF /* ic_videocam@2x.png in Resources */,
|
||||||
D04DCC2E1F71C80000B021D7 /* 111.m4a in Resources */,
|
D04DCC2E1F71C80000B021D7 /* 111.m4a in Resources */,
|
||||||
D08DB0AA213F4D1D00F2ADBF /* fast_spiral@2x.png in Resources */,
|
D08DB0AA213F4D1D00F2ADBF /* fast_spiral@2x.png in Resources */,
|
||||||
|
D0EFF2EB2319838800CF5164 /* stp_card_diners_template@3x.png in Resources */,
|
||||||
D0CE6F5C213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
D0CE6F5C213EDA4400BCD44B /* InfoPlist.strings in Resources */,
|
||||||
D052974722B0073F004ABAF6 /* WhiteFilledIcon@2x.png in Resources */,
|
D052974722B0073F004ABAF6 /* WhiteFilledIcon@2x.png in Resources */,
|
||||||
D0CE6F5D213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
D0CE6F5D213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */,
|
||||||
D0CE6F61213EDA4400BCD44B /* Localizable.strings in Resources */,
|
D0CE6F61213EDA4400BCD44B /* Localizable.strings in Resources */,
|
||||||
D04DCC311F71C80000B021D7 /* 4.m4a in Resources */,
|
D04DCC311F71C80000B021D7 /* 4.m4a in Resources */,
|
||||||
D0FC1948201D2DA800FEDBB2 /* SFCompactRounded-Semibold.otf in Resources */,
|
D0EFF31C2319838800CF5164 /* anim_mute.json in Resources */,
|
||||||
D04DCC331F71C80000B021D7 /* 6.m4a in Resources */,
|
D04DCC331F71C80000B021D7 /* 6.m4a in Resources */,
|
||||||
D04DCC251F71C80000B021D7 /* 102.m4a in Resources */,
|
D04DCC251F71C80000B021D7 /* 102.m4a in Resources */,
|
||||||
09EBE2A822B004EA00F670AB /* BlackFilledIconIpad@2x.png in Resources */,
|
09EBE2A822B004EA00F670AB /* BlackFilledIconIpad@2x.png in Resources */,
|
||||||
D021D4D9219CAEDD0064BEBA /* Config-Fork.xcconfig in Resources */,
|
D021D4D9219CAEDD0064BEBA /* Config-Fork.xcconfig in Resources */,
|
||||||
|
D0EFF31A2319838800CF5164 /* anim_hide.json in Resources */,
|
||||||
D08DB0AD213F4D1D00F2ADBF /* ic_cam@2x.png in Resources */,
|
D08DB0AD213F4D1D00F2ADBF /* ic_cam@2x.png in Resources */,
|
||||||
|
D0EFF3232319838800CF5164 /* Instagram.html in Resources */,
|
||||||
|
D0EFF30E2319838800CF5164 /* anim_archive.json in Resources */,
|
||||||
094DDF3322E7A61B004B0256 /* InfoPlist.strings in Resources */,
|
094DDF3322E7A61B004B0256 /* InfoPlist.strings in Resources */,
|
||||||
090E777622A6945900CD99F5 /* BlackClassicIcon@3x.png in Resources */,
|
090E777622A6945900CD99F5 /* BlackClassicIcon@3x.png in Resources */,
|
||||||
D0E8B8B02044496C00605593 /* voip_ringback.caf in Resources */,
|
D0E8B8B02044496C00605593 /* voip_ringback.caf in Resources */,
|
||||||
09E9600822C23FF200B13673 /* BlackNotificationIcon.png in Resources */,
|
09E9600822C23FF200B13673 /* BlackNotificationIcon.png in Resources */,
|
||||||
|
D0EFF2ED2319838800CF5164 /* stp_card_diners@3x.png in Resources */,
|
||||||
|
D0EFF2F82319838800CF5164 /* stp_card_jcb@2x.png in Resources */,
|
||||||
|
D0EFF3012319838800CF5164 /* stp_card_applepay@2x.png in Resources */,
|
||||||
09EBE2A922B004EA00F670AB /* BlackFilledIconLargeIpad@2x.png in Resources */,
|
09EBE2A922B004EA00F670AB /* BlackFilledIconLargeIpad@2x.png in Resources */,
|
||||||
|
D0EFF30A2319838800CF5164 /* stp_card_discover_template@3x.png in Resources */,
|
||||||
090E777422A6945900CD99F5 /* BlackClassicIcon@2x.png in Resources */,
|
090E777422A6945900CD99F5 /* BlackClassicIcon@2x.png in Resources */,
|
||||||
|
D0EFF2FC2319838800CF5164 /* stp_card_cvc_amex@2x.png in Resources */,
|
||||||
D00ED75A1FE94630001F38BD /* AppIntentVocabulary.plist in Resources */,
|
D00ED75A1FE94630001F38BD /* AppIntentVocabulary.plist in Resources */,
|
||||||
D04DCC221F71C80000B021D7 /* 1.m4a in Resources */,
|
D04DCC221F71C80000B021D7 /* 1.m4a in Resources */,
|
||||||
09EBE2AD22B004EA00F670AB /* BlackFilledIconIpad.png in Resources */,
|
09EBE2AD22B004EA00F670AB /* BlackFilledIconIpad.png in Resources */,
|
||||||
09E9601522C2441000B13673 /* BlueClassicNotificationIcon.png in Resources */,
|
09E9601522C2441000B13673 /* BlueClassicNotificationIcon.png in Resources */,
|
||||||
D0E8C2E02285EA6A009F26E8 /* BlackIcon@3x.png in Resources */,
|
D0E8C2E02285EA6A009F26E8 /* BlackIcon@3x.png in Resources */,
|
||||||
|
D0EFF3162319838800CF5164 /* anim_delete.json in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -63,6 +63,9 @@
|
|||||||
<Group
|
<Group
|
||||||
location = "container:"
|
location = "container:"
|
||||||
name = "Utils">
|
name = "Utils">
|
||||||
|
<FileRef
|
||||||
|
location = "group:submodules/AppBundle/AppBundle_Xcode.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "group:submodules/AccountContext/AccountContext_Xcode.xcodeproj">
|
location = "group:submodules/AccountContext/AccountContext_Xcode.xcodeproj">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
@ -180,7 +183,7 @@
|
|||||||
location = "container:"
|
location = "container:"
|
||||||
name = "Image Processing">
|
name = "Image Processing">
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "group:submodules/YuvConversion/YuvConversion.xcodeproj">
|
location = "group:submodules/YuvConversion/YuvConversion_Xcode.xcodeproj">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "group:submodules/ImageBlur/ImageBlur_Xcode.xcodeproj">
|
location = "group:submodules/ImageBlur/ImageBlur_Xcode.xcodeproj">
|
||||||
|
Before Width: | Height: | Size: 370 KiB After Width: | Height: | Size: 370 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 665 B After Width: | Height: | Size: 665 B |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 159 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 661 B After Width: | Height: | Size: 661 B |
Before Width: | Height: | Size: 896 B After Width: | Height: | Size: 896 B |
@ -185,7 +185,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>5.11</string>
|
<string>5.12</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
@ -356,5 +356,10 @@
|
|||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
|
<key>UIDeviceFamily</key>
|
||||||
|
<array>
|
||||||
|
<integer>1</integer>
|
||||||
|
<integer>2</integer>
|
||||||
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -1,232 +0,0 @@
|
|||||||
1876;JM;Jamaica
|
|
||||||
1869;KN;Saint Kitts & Nevis
|
|
||||||
1868;TT;Trinidad & Tobago
|
|
||||||
1784;VC;Saint Vincent & the Grenadines
|
|
||||||
1767;DM;Dominica
|
|
||||||
1758;LC;Saint Lucia
|
|
||||||
1721;SX;Sint Maarten
|
|
||||||
1684;AS;American Samoa
|
|
||||||
1671;GU;Guam
|
|
||||||
1670;MP;Northern Mariana Islands
|
|
||||||
1664;MS;Montserrat
|
|
||||||
1649;TC;Turks & Caicos Islands
|
|
||||||
1473;GD;Grenada
|
|
||||||
1441;BM;Bermuda
|
|
||||||
1345;KY;Cayman Islands
|
|
||||||
1340;VI;US Virgin Islands
|
|
||||||
1284;VG;British Virgin Islands
|
|
||||||
1268;AG;Antigua & Barbuda
|
|
||||||
1264;AI;Anguilla
|
|
||||||
1246;BB;Barbados
|
|
||||||
1242;BS;Bahamas
|
|
||||||
998;UZ;Uzbekistan
|
|
||||||
996;KG;Kyrgyzstan
|
|
||||||
995;GE;Georgia
|
|
||||||
994;AZ;Azerbaijan
|
|
||||||
993;TM;Turkmenistan
|
|
||||||
992;TJ;Tajikistan
|
|
||||||
977;NP;Nepal
|
|
||||||
976;MN;Mongolia
|
|
||||||
975;BT;Bhutan
|
|
||||||
974;QA;Qatar
|
|
||||||
973;BH;Bahrain
|
|
||||||
972;IL;Israel
|
|
||||||
971;AE;United Arab Emirates
|
|
||||||
970;PS;Palestine
|
|
||||||
968;OM;Oman
|
|
||||||
967;YE;Yemen
|
|
||||||
966;SA;Saudi Arabia
|
|
||||||
965;KW;Kuwait
|
|
||||||
964;IQ;Iraq
|
|
||||||
963;SY;Syrian Arab Republic
|
|
||||||
962;JO;Jordan
|
|
||||||
961;LB;Lebanon
|
|
||||||
960;MV;Maldives
|
|
||||||
886;TW;Taiwan
|
|
||||||
880;BD;Bangladesh
|
|
||||||
856;LA;Laos
|
|
||||||
855;KH;Cambodia
|
|
||||||
853;MO;Macau
|
|
||||||
852;HK;Hong Kong
|
|
||||||
850;KP;North Korea
|
|
||||||
692;MH;Marshall Islands
|
|
||||||
691;FM;Micronesia
|
|
||||||
690;TK;Tokelau
|
|
||||||
689;PF;French Polynesia
|
|
||||||
688;TV;Tuvalu
|
|
||||||
687;NC;New Caledonia
|
|
||||||
686;KI;Kiribati
|
|
||||||
685;WS;Samoa
|
|
||||||
683;NU;Niue
|
|
||||||
682;CK;Cook Islands
|
|
||||||
681;WF;Wallis & Futuna
|
|
||||||
680;PW;Palau
|
|
||||||
679;FJ;Fiji
|
|
||||||
678;VU;Vanuatu
|
|
||||||
677;SB;Solomon Islands
|
|
||||||
676;TO;Tonga
|
|
||||||
675;PG;Papua New Guinea
|
|
||||||
674;NR;Nauru
|
|
||||||
673;BN;Brunei Darussalam
|
|
||||||
672;NF;Norfolk Island
|
|
||||||
670;TL;Timor-Leste
|
|
||||||
599;BQ;Bonaire, Sint Eustatius & Saba
|
|
||||||
599;CW;Curaçao
|
|
||||||
598;UY;Uruguay
|
|
||||||
597;SR;Suriname
|
|
||||||
596;MQ;Martinique
|
|
||||||
595;PY;Paraguay
|
|
||||||
594;GF;French Guiana
|
|
||||||
593;EC;Ecuador
|
|
||||||
592;GY;Guyana
|
|
||||||
591;BO;Bolivia
|
|
||||||
590;GP;Guadeloupe
|
|
||||||
509;HT;Haiti
|
|
||||||
508;PM;Saint Pierre & Miquelon
|
|
||||||
507;PA;Panama
|
|
||||||
506;CR;Costa Rica
|
|
||||||
505;NI;Nicaragua
|
|
||||||
504;HN;Honduras
|
|
||||||
503;SV;El Salvador
|
|
||||||
502;GT;Guatemala
|
|
||||||
501;BZ;Belize
|
|
||||||
500;FK;Falkland Islands
|
|
||||||
423;LI;Liechtenstein
|
|
||||||
421;SK;Slovakia
|
|
||||||
420;CZ;Czech Republic
|
|
||||||
383;XK;Kosovo
|
|
||||||
389;MK;Macedonia
|
|
||||||
387;BA;Bosnia & Herzegovina
|
|
||||||
386;SI;Slovenia
|
|
||||||
385;HR;Croatia
|
|
||||||
382;ME;Montenegro
|
|
||||||
381;RS;Serbia
|
|
||||||
380;UA;Ukraine
|
|
||||||
378;SM;San Marino
|
|
||||||
377;MC;Monaco
|
|
||||||
376;AD;Andorra
|
|
||||||
375;BY;Belarus
|
|
||||||
374;AM;Armenia
|
|
||||||
373;MD;Moldova
|
|
||||||
372;EE;Estonia
|
|
||||||
371;LV;Latvia
|
|
||||||
370;LT;Lithuania
|
|
||||||
359;BG;Bulgaria
|
|
||||||
358;FI;Finland
|
|
||||||
357;CY;Cyprus
|
|
||||||
356;MT;Malta
|
|
||||||
355;AL;Albania
|
|
||||||
354;IS;Iceland
|
|
||||||
353;IE;Ireland
|
|
||||||
352;LU;Luxembourg
|
|
||||||
351;PT;Portugal
|
|
||||||
350;GI;Gibraltar
|
|
||||||
299;GL;Greenland
|
|
||||||
298;FO;Faroe Islands
|
|
||||||
297;AW;Aruba
|
|
||||||
291;ER;Eritrea
|
|
||||||
290;SH;Saint Helena
|
|
||||||
269;KM;Comoros
|
|
||||||
268;SZ;Swaziland
|
|
||||||
267;BW;Botswana
|
|
||||||
266;LS;Lesotho
|
|
||||||
265;MW;Malawi
|
|
||||||
264;NA;Namibia
|
|
||||||
263;ZW;Zimbabwe
|
|
||||||
262;RE;Réunion
|
|
||||||
261;MG;Madagascar
|
|
||||||
260;ZM;Zambia
|
|
||||||
258;MZ;Mozambique
|
|
||||||
257;BI;Burundi
|
|
||||||
256;UG;Uganda
|
|
||||||
255;TZ;Tanzania
|
|
||||||
254;KE;Kenya
|
|
||||||
253;DJ;Djibouti
|
|
||||||
252;SO;Somalia
|
|
||||||
251;ET;Ethiopia
|
|
||||||
250;RW;Rwanda
|
|
||||||
249;SD;Sudan
|
|
||||||
248;SC;Seychelles
|
|
||||||
247;SH;Saint Helena
|
|
||||||
246;IO;Diego Garcia
|
|
||||||
245;GW;Guinea-Bissau
|
|
||||||
244;AO;Angola
|
|
||||||
243;CD;Congo (Dem. Rep.)
|
|
||||||
242;CG;Congo (Rep.)
|
|
||||||
241;GA;Gabon
|
|
||||||
240;GQ;Equatorial Guinea
|
|
||||||
239;ST;São Tomé & Príncipe
|
|
||||||
238;CV;Cape Verde
|
|
||||||
237;CM;Cameroon
|
|
||||||
236;CF;Central African Rep.
|
|
||||||
235;TD;Chad
|
|
||||||
234;NG;Nigeria
|
|
||||||
233;GH;Ghana
|
|
||||||
232;SL;Sierra Leone
|
|
||||||
231;LR;Liberia
|
|
||||||
230;MU;Mauritius
|
|
||||||
229;BJ;Benin
|
|
||||||
228;TG;Togo
|
|
||||||
227;NE;Niger
|
|
||||||
226;BF;Burkina Faso
|
|
||||||
225;CI;Côte d`Ivoire
|
|
||||||
224;GN;Guinea
|
|
||||||
223;ML;Mali
|
|
||||||
222;MR;Mauritania
|
|
||||||
221;SN;Senegal
|
|
||||||
220;GM;Gambia
|
|
||||||
218;LY;Libya
|
|
||||||
216;TN;Tunisia
|
|
||||||
213;DZ;Algeria
|
|
||||||
212;MA;Morocco
|
|
||||||
211;SS;South Sudan
|
|
||||||
98;IR;Iran
|
|
||||||
95;MM;Myanmar
|
|
||||||
94;LK;Sri Lanka
|
|
||||||
93;AF;Afghanistan
|
|
||||||
92;PK;Pakistan
|
|
||||||
91;IN;India
|
|
||||||
90;TR;Turkey
|
|
||||||
86;CN;China
|
|
||||||
84;VN;Vietnam
|
|
||||||
82;KR;South Korea
|
|
||||||
81;JP;Japan
|
|
||||||
66;TH;Thailand
|
|
||||||
65;SG;Singapore
|
|
||||||
64;NZ;New Zealand
|
|
||||||
63;PH;Philippines
|
|
||||||
62;ID;Indonesia
|
|
||||||
61;AU;Australia
|
|
||||||
60;MY;Malaysia
|
|
||||||
58;VE;Venezuela
|
|
||||||
57;CO;Colombia
|
|
||||||
56;CL;Chile
|
|
||||||
55;BR;Brazil
|
|
||||||
54;AR;Argentina
|
|
||||||
53;CU;Cuba
|
|
||||||
52;MX;Mexico
|
|
||||||
51;PE;Peru
|
|
||||||
49;DE;Germany
|
|
||||||
48;PL;Poland
|
|
||||||
47;NO;Norway
|
|
||||||
46;SE;Sweden
|
|
||||||
45;DK;Denmark
|
|
||||||
44;GB;United Kingdom
|
|
||||||
43;AT;Austria
|
|
||||||
41;CH;Switzerland
|
|
||||||
40;RO;Romania
|
|
||||||
39;IT;Italy
|
|
||||||
36;HU;Hungary
|
|
||||||
34;ES;Spain
|
|
||||||
33;FR;France
|
|
||||||
32;BE;Belgium
|
|
||||||
31;NL;Netherlands
|
|
||||||
30;GR;Greece
|
|
||||||
27;ZA;South Africa
|
|
||||||
20;EG;Egypt
|
|
||||||
7;RU;Russian Federation
|
|
||||||
7;KZ;Kazakhstan
|
|
||||||
1;US;USA
|
|
||||||
1;PR;Puerto Rico
|
|
||||||
1;DO;Dominican Rep.
|
|
||||||
1;CA;Canada
|
|
@ -30,7 +30,7 @@
|
|||||||
</array>
|
</array>
|
||||||
<key>keychain-access-groups</key>
|
<key>keychain-access-groups</key>
|
||||||
<array>
|
<array>
|
||||||
<string>$(AppIdentifierPrefix)org.telegram.Telegram-iOS</string>
|
<string>X834Q8SBVP.org.telegram.Telegram-iOS</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@ -218,6 +218,7 @@
|
|||||||
"PUSH_CHAT_MESSAGE_VIDEOS" = "%1$@ sent %3$@ videos to the group %2$@";
|
"PUSH_CHAT_MESSAGE_VIDEOS" = "%1$@ sent %3$@ videos to the group %2$@";
|
||||||
|
|
||||||
"PUSH_REMINDER_TITLE" = "🗓 Reminder";
|
"PUSH_REMINDER_TITLE" = "🗓 Reminder";
|
||||||
|
"PUSH_SENDER_YOU" = "📅 You";
|
||||||
|
|
||||||
"LOCAL_MESSAGE_FWDS" = "%1$@ forwarded you %2$d messages";
|
"LOCAL_MESSAGE_FWDS" = "%1$@ forwarded you %2$d messages";
|
||||||
"LOCAL_CHANNEL_MESSAGE_FWDS" = "%1$@ posted %2$d forwarded messages";
|
"LOCAL_CHANNEL_MESSAGE_FWDS" = "%1$@ posted %2$d forwarded messages";
|
||||||
@ -243,6 +244,7 @@
|
|||||||
"Common.Search" = "Search";
|
"Common.Search" = "Search";
|
||||||
"Common.More" = "More";
|
"Common.More" = "More";
|
||||||
"Common.Select" = "Select";
|
"Common.Select" = "Select";
|
||||||
|
"Items.NOfM" = "%1$@ of %2$@";
|
||||||
|
|
||||||
// State
|
// State
|
||||||
"State.Connecting" = "Connecting...";
|
"State.Connecting" = "Connecting...";
|
||||||
@ -309,6 +311,7 @@
|
|||||||
"LastSeen.HoursAgo_0" = "last seen %@ hours ago";
|
"LastSeen.HoursAgo_0" = "last seen %@ hours ago";
|
||||||
"LastSeen.YesterdayAt" = "last seen yesterday at %@";
|
"LastSeen.YesterdayAt" = "last seen yesterday at %@";
|
||||||
"LastSeen.AtDate" = "last seen %@";
|
"LastSeen.AtDate" = "last seen %@";
|
||||||
|
"LastSeen.TodayAt" = "last seen today at %@";
|
||||||
"LastSeen.Lately" = "last seen recently";
|
"LastSeen.Lately" = "last seen recently";
|
||||||
"LastSeen.WithinAWeek" = "last seen within a week";
|
"LastSeen.WithinAWeek" = "last seen within a week";
|
||||||
"LastSeen.WithinAMonth" = "last seen within a month";
|
"LastSeen.WithinAMonth" = "last seen within a month";
|
||||||
@ -4679,7 +4682,8 @@ Any member of this group will be able to see messages in the channel.";
|
|||||||
"EditTheme.Preview" = "CHAT PREVIEW";
|
"EditTheme.Preview" = "CHAT PREVIEW";
|
||||||
"EditTheme.UploadNewTheme" = "Create from File...";
|
"EditTheme.UploadNewTheme" = "Create from File...";
|
||||||
"EditTheme.UploadEditedTheme" = "Update from File...";
|
"EditTheme.UploadEditedTheme" = "Update from File...";
|
||||||
"EditTheme.ThemeTemplateAlert" = "New Theme Added\n\nPress and hold on your theme to edit it or get a sharing link. Users who install your theme will get automatic updates each time you change it.\n\nFor advanced editing purposes, you can find a file with your theme in Saved Messages.";
|
"EditTheme.ThemeTemplateAlertTitle" = "New Theme Added";
|
||||||
|
"EditTheme.ThemeTemplateAlertText" = "Press and hold on your theme to edit it or get a sharing link. Users who install your theme will get automatic updates each time you change it.\n\nFor advanced editing purposes, you can find a file with your theme in Saved Messages.";
|
||||||
"EditTheme.FileReadError" = "Invalid theme file";
|
"EditTheme.FileReadError" = "Invalid theme file";
|
||||||
|
|
||||||
"EditTheme.Create.TopInfo" = "The theme will be based on your currently selected colors and wallpaper.";
|
"EditTheme.Create.TopInfo" = "The theme will be based on your currently selected colors and wallpaper.";
|
||||||
@ -4707,6 +4711,7 @@ Any member of this group will be able to see messages in the channel.";
|
|||||||
"EditTheme.Edit.Preview.OutgoingText" = "Or upload a theme file";
|
"EditTheme.Edit.Preview.OutgoingText" = "Or upload a theme file";
|
||||||
|
|
||||||
"EditTheme.ErrorLinkTaken" = "Sorry, this link is already taken";
|
"EditTheme.ErrorLinkTaken" = "Sorry, this link is already taken";
|
||||||
|
"EditTheme.ErrorInvalidCharacters" = "Sorry, this link is invalid.";
|
||||||
|
|
||||||
"Wallpaper.ErrorNotFound" = "Sorry, this chat background doesn't seem to exist.";
|
"Wallpaper.ErrorNotFound" = "Sorry, this chat background doesn't seem to exist.";
|
||||||
"Theme.ErrorNotFound" = "Sorry, this color theme doesn't seem to exist.";
|
"Theme.ErrorNotFound" = "Sorry, this color theme doesn't seem to exist.";
|
||||||
@ -4720,3 +4725,27 @@ Any member of this group will be able to see messages in the channel.";
|
|||||||
"Theme.UsersCount_0" = "%@ people are using this theme";
|
"Theme.UsersCount_0" = "%@ people are using this theme";
|
||||||
|
|
||||||
"Conversation.SendMessageErrorTooMuchScheduled" = "Sorry, you can not schedule more than 100 messages.";
|
"Conversation.SendMessageErrorTooMuchScheduled" = "Sorry, you can not schedule more than 100 messages.";
|
||||||
|
|
||||||
|
"ChatList.Context.MarkAllAsRead" = "Mark All as Read";
|
||||||
|
"ChatList.Context.HideArchive" = "Hide Above the List";
|
||||||
|
"ChatList.Context.UnhideArchive" = "Pin in the list";
|
||||||
|
"ChatList.Context.RemoveFromRecents" = "Clear from Recents";
|
||||||
|
"ChatList.Context.AddToContacts" = "Add to Contacts";
|
||||||
|
"ChatList.Context.MarkAsRead" = "Mark as Read";
|
||||||
|
"ChatList.Context.MarkAsUnread" = "Mark as Unread";
|
||||||
|
"ChatList.Context.Archive" = "Archive";
|
||||||
|
"ChatList.Context.Unarchive" = "Unarchive";
|
||||||
|
"ChatList.Context.Pin" = "Pin";
|
||||||
|
"ChatList.Context.Unpin" = "Unpin";
|
||||||
|
"ChatList.Context.Mute" = "Mute";
|
||||||
|
"ChatList.Context.Unmute" = "Unmute";
|
||||||
|
"ChatList.Context.JoinChannel" = "Join Channel";
|
||||||
|
"ChatList.Context.Delete" = "Delete";
|
||||||
|
|
||||||
|
"ContactList.Context.SendMessage" = "Send Message";
|
||||||
|
"ContactList.Context.StartSecretChat" = "Start Secret Chat";
|
||||||
|
"ContactList.Context.Call" = "Cal";
|
||||||
|
|
||||||
|
"Theme.Context.Apply" = "Apply";
|
||||||
|
|
||||||
|
"Settings.Context.Logout" = "Logout";
|
||||||
|
@ -8,7 +8,8 @@ int main(int argc, char *argv[]) {
|
|||||||
sleep(1000);
|
sleep(1000);
|
||||||
void *NotificationService = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/NotificationService.appex/NotificationService"] UTF8String], RTLD_LAZY);
|
void *NotificationService = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/NotificationService.appex/NotificationService"] UTF8String], RTLD_LAZY);
|
||||||
void *SiriIntents = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/SiriIntents.appex/SiriIntents"] UTF8String], RTLD_LAZY);
|
void *SiriIntents = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/SiriIntents.appex/SiriIntents"] UTF8String], RTLD_LAZY);
|
||||||
void *Widget = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Widget.appex/Widget"] UTF8String], RTLD_LAZY);*/
|
void *Widget = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Widget.appex/Widget"] UTF8String], RTLD_LAZY);
|
||||||
|
1*/
|
||||||
|
|
||||||
@autoreleasepool {
|
@autoreleasepool {
|
||||||
return UIApplicationMain(argc, argv, @"Application", @"AppDelegate");
|
return UIApplicationMain(argc, argv, @"Application", @"AppDelegate");
|
||||||
|
1
Telegram_Buck.xcworkspace/buck-project.meta.json
Normal file
1
Telegram_Buck.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEDidComputeMac32BitWarning</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "9999"
|
||||||
|
wasCreatedForAppExtension = "YES"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04ECA074AD000000000"
|
||||||
|
BuildableName = "IntentsExtension.appex"
|
||||||
|
BlueprintName = "IntentsExtension#iphonesimulator-x86_64"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "9999"
|
||||||
|
wasCreatedForAppExtension = "YES"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EF6E8B68700000000"
|
||||||
|
BuildableName = "NotificationContentExtension.appex"
|
||||||
|
BlueprintName = "NotificationContentExtension#iphonesimulator-x86_64"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "9999"
|
||||||
|
wasCreatedForAppExtension = "YES"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04E8C3D58C300000000"
|
||||||
|
BuildableName = "NotificationServiceExtension.appex"
|
||||||
|
BlueprintName = "NotificationServiceExtension#iphonesimulator-x86_64"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "9999"
|
||||||
|
wasCreatedForAppExtension = "YES"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EE64F555800000000"
|
||||||
|
BuildableName = "ShareExtension.appex"
|
||||||
|
BlueprintName = "ShareExtension#iphonesimulator-x86_64"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "9999"
|
||||||
|
wasCreatedForAppExtension = "YES"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04E86ED67FD00000000"
|
||||||
|
BuildableName = "WidgetExtension.appex"
|
||||||
|
BlueprintName = "WidgetExtension#iphonesimulator-x86_64"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Project.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
80
Temp/BUCK
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
load("//Config:configs.bzl",
|
||||||
|
"app_binary_configs",
|
||||||
|
"library_configs",
|
||||||
|
"app_info_plist_substitutions",
|
||||||
|
"DEVELOPMENT_LANGUAGE",
|
||||||
|
)
|
||||||
|
|
||||||
|
load("//Config:buck_rule_macros.bzl",
|
||||||
|
"framework_binary_dependencies",
|
||||||
|
"framework_bundle_dependencies",
|
||||||
|
"glob_map",
|
||||||
|
"glob_sub_map",
|
||||||
|
"merge_maps",
|
||||||
|
)
|
||||||
|
|
||||||
|
framework_dependencies = [
|
||||||
|
"//submodules/MtProtoKit:MtProtoKit",
|
||||||
|
#"//submodules/Emoji:Emoji",
|
||||||
|
]
|
||||||
|
|
||||||
|
apple_library(
|
||||||
|
name = "AppLibrary",
|
||||||
|
visibility = [
|
||||||
|
"//:",
|
||||||
|
"//...",
|
||||||
|
],
|
||||||
|
configs = library_configs(),
|
||||||
|
swift_version = native.read_config("swift", "version"),
|
||||||
|
srcs = [
|
||||||
|
"Telegram-iOS/main.m",
|
||||||
|
"Telegram-iOS/Application.swift"
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
"//submodules/MtProtoKit:MtProtoKitFramework",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_binary(
|
||||||
|
name = "AppBinary",
|
||||||
|
visibility = [
|
||||||
|
"//:",
|
||||||
|
"//...",
|
||||||
|
],
|
||||||
|
configs = app_binary_configs(),
|
||||||
|
swift_version = native.read_config("swift", "version"),
|
||||||
|
srcs = [
|
||||||
|
"Empty.swift",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
":AppLibrary",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_bundle(
|
||||||
|
name = "Telegram",
|
||||||
|
visibility = [
|
||||||
|
"//:",
|
||||||
|
],
|
||||||
|
extension = "app",
|
||||||
|
binary = ":AppBinary",
|
||||||
|
product_name = "Telegram",
|
||||||
|
info_plist = "Telegram-iOS/Info.plist",
|
||||||
|
info_plist_substitutions = app_info_plist_substitutions(),
|
||||||
|
deps = [
|
||||||
|
"//submodules/MtProtoKit:MtProtoKitFramework",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
# Package
|
||||||
|
|
||||||
|
apple_package(
|
||||||
|
name = "AppPackage",
|
||||||
|
bundle = ":Telegram",
|
||||||
|
)
|
||||||
|
|
||||||
|
xcode_workspace_config(
|
||||||
|
name = "workspace",
|
||||||
|
workspace_name = "Telegram_Buck",
|
||||||
|
src_target = ":Telegram",
|
||||||
|
)
|
1
Temp/Empty.swift
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
5
Temp/Telegram-iOS/Application.swift
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import UIKit
|
||||||
|
|
||||||
|
@objc(Application) class Application: UIApplication {
|
||||||
|
|
||||||
|
}
|
365
Temp/Telegram-iOS/Info.plist
Normal file
@ -0,0 +1,365 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleAllowMixedLocalizations</key>
|
||||||
|
<true/>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>${APP_NAME}</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
|
<key>CFBundleIcons</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleAlternateIcons</key>
|
||||||
|
<dict>
|
||||||
|
<key>Black</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlackIcon</string>
|
||||||
|
<string>BlackNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlackClassic</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlackClassicIcon</string>
|
||||||
|
<string>BlackClassicNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlackFilled</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlackFilledIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>Blue</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlueIcon</string>
|
||||||
|
<string>BlueNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlueClassic</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlueClassicIcon</string>
|
||||||
|
<string>BlueClassicNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlueFilled</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlueFilledIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>WhiteFilled</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>WhiteFilledIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>CFBundlePrimaryIcon</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconName</key>
|
||||||
|
<string>AppIconLLC</string>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>CFBundleIcons~ipad</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleAlternateIcons</key>
|
||||||
|
<dict>
|
||||||
|
<key>Black</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlackIconIpad</string>
|
||||||
|
<string>BlackIconLargeIpad</string>
|
||||||
|
<string>BlackNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlackClassic</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlackClassicIconIpad</string>
|
||||||
|
<string>BlackClassicIconLargeIpad</string>
|
||||||
|
<string>BlackClassicNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlackFilled</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlackFilledIconIpad</string>
|
||||||
|
<string>BlackFilledIconLargeIpad</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>Blue</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlueIconIpad</string>
|
||||||
|
<string>BlueIconLargeIpad</string>
|
||||||
|
<string>BlueNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlueClassic</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlueClassicIconIpad</string>
|
||||||
|
<string>BlueClassicIconLargeIpad</string>
|
||||||
|
<string>BlueClassicNotificationIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>BlueFilled</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlueFilledIconIpad</string>
|
||||||
|
<string>BlueFilledIconLargeIpad</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>WhiteFilled</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>WhiteFilledIcon</string>
|
||||||
|
</array>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>CFBundlePrimaryIcon</key>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleIconName</key>
|
||||||
|
<string>AppIconLLC</string>
|
||||||
|
<key>UIPrerenderedIcon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>$(PRODUCT_NAME)</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>5.12</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleURLTypes</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
<key>CFBundleURLName</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleURLSchemes</key>
|
||||||
|
<array>
|
||||||
|
<string>telegram</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Editor</string>
|
||||||
|
<key>CFBundleURLName</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER).compatibility</string>
|
||||||
|
<key>CFBundleURLSchemes</key>
|
||||||
|
<array>
|
||||||
|
<string>tg</string>
|
||||||
|
<string>$(APP_SPECIFIC_URL_SCHEME)</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
<key>CFBundleURLName</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER).dropbox</string>
|
||||||
|
<key>CFBundleURLSchemes</key>
|
||||||
|
<array>
|
||||||
|
<string>db-pa9wtoz9l514anx</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>${BUILD_NUMBER}</string>
|
||||||
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
<false/>
|
||||||
|
<key>LSApplicationQueriesSchemes</key>
|
||||||
|
<array>
|
||||||
|
<string>instagram</string>
|
||||||
|
<string>comgooglemaps-x-callback</string>
|
||||||
|
<string>foursquare</string>
|
||||||
|
<string>here-location</string>
|
||||||
|
<string>yandexmaps</string>
|
||||||
|
<string>yandexnavi</string>
|
||||||
|
<string>comgooglemaps</string>
|
||||||
|
<string>youtube</string>
|
||||||
|
<string>twitter</string>
|
||||||
|
<string>vk</string>
|
||||||
|
<string>waze</string>
|
||||||
|
<string>googlechrome</string>
|
||||||
|
<string>googlechromes</string>
|
||||||
|
<string>firefox</string>
|
||||||
|
<string>touch-http</string>
|
||||||
|
<string>touch-https</string>
|
||||||
|
<string>yandexbrowser-open-url</string>
|
||||||
|
<string>vimeo</string>
|
||||||
|
<string>vine</string>
|
||||||
|
<string>coub</string>
|
||||||
|
<string>uber</string>
|
||||||
|
<string>citymapper</string>
|
||||||
|
<string>lyft</string>
|
||||||
|
<string>opera-http</string>
|
||||||
|
<string>opera-https</string>
|
||||||
|
<string>firefox-focus</string>
|
||||||
|
<string>ddgQuickLink</string>
|
||||||
|
<string>moovit</string>
|
||||||
|
</array>
|
||||||
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
<true/>
|
||||||
|
<key>NSAppTransportSecurity</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSAllowsArbitraryLoads</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>NSCameraUsageDescription</key>
|
||||||
|
<string>We need this so that you can take and share photos and videos.</string>
|
||||||
|
<key>NSContactsUsageDescription</key>
|
||||||
|
<string>Telegram stores your contacts heavily encrypted in the cloud to let you connect with your friends across all your devices.</string>
|
||||||
|
<key>NSFaceIDUsageDescription</key>
|
||||||
|
<string>You can use Face ID to unlock the app.</string>
|
||||||
|
<key>NSLocationAlwaysUsageDescription</key>
|
||||||
|
<string>When you send your location to your friends, Telegram needs access to show them a map. You also need this to send locations from an Apple Watch.</string>
|
||||||
|
<key>NSLocationWhenInUseUsageDescription</key>
|
||||||
|
<string>When you send your location to your friends, Telegram needs access to show them a map.</string>
|
||||||
|
<key>NSMicrophoneUsageDescription</key>
|
||||||
|
<string>We need this so that you can record and share voice messages and videos with sound.</string>
|
||||||
|
<key>NSMotionUsageDescription</key>
|
||||||
|
<string>When you send your location to your friends, Telegram needs access to show them a map.</string>
|
||||||
|
<key>NSPhotoLibraryAddUsageDescription</key>
|
||||||
|
<string>We need this so that you can share photos and videos from your photo library.</string>
|
||||||
|
<key>NSPhotoLibraryUsageDescription</key>
|
||||||
|
<string>We need this so that you can share photos and videos from your photo library.</string>
|
||||||
|
<key>NSSiriUsageDescription</key>
|
||||||
|
<string>You can use Siri to send messages.</string>
|
||||||
|
<key>NSUserActivityTypes</key>
|
||||||
|
<array>
|
||||||
|
<string>INSendMessageIntent</string>
|
||||||
|
<string>RemindAboutChatIntent</string>
|
||||||
|
</array>
|
||||||
|
<key>UIAppFonts</key>
|
||||||
|
<array>
|
||||||
|
<string>SFCompactRounded-Semibold.otf</string>
|
||||||
|
</array>
|
||||||
|
<key>UIBackgroundModes</key>
|
||||||
|
<array>
|
||||||
|
<string>audio</string>
|
||||||
|
<string>fetch</string>
|
||||||
|
<string>location</string>
|
||||||
|
<string>remote-notification</string>
|
||||||
|
<string>voip</string>
|
||||||
|
</array>
|
||||||
|
<key>UIFileSharingEnabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>UILaunchStoryboardName</key>
|
||||||
|
<string>LaunchScreen</string>
|
||||||
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
|
<array>
|
||||||
|
<string>armv7</string>
|
||||||
|
</array>
|
||||||
|
<key>UIRequiresPersistentWiFi</key>
|
||||||
|
<true/>
|
||||||
|
<key>UIStatusBarStyle</key>
|
||||||
|
<string>UIStatusBarStyleDefault</string>
|
||||||
|
<key>UISupportedInterfaceOrientations</key>
|
||||||
|
<array>
|
||||||
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
|
</array>
|
||||||
|
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||||
|
<array>
|
||||||
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
|
</array>
|
||||||
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||||
|
<false/>
|
||||||
|
<key>UIViewEdgeAntialiasing</key>
|
||||||
|
<false/>
|
||||||
|
<key>UIViewGroupOpacity</key>
|
||||||
|
<false/>
|
||||||
|
<key>UTImportedTypeDeclarations</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>UTTypeConformsTo</key>
|
||||||
|
<array>
|
||||||
|
<string>public.data</string>
|
||||||
|
</array>
|
||||||
|
<key>UTTypeDescription</key>
|
||||||
|
<string>Telegram iOS Color Theme File</string>
|
||||||
|
<key>UTTypeIconFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>BlueIcon@3x.png</string>
|
||||||
|
</array>
|
||||||
|
<key>UTTypeIdentifier</key>
|
||||||
|
<string>org.telegram.Telegram-iOS.theme</string>
|
||||||
|
<key>UTTypeTagSpecification</key>
|
||||||
|
<dict>
|
||||||
|
<key>public.filename-extension</key>
|
||||||
|
<array>
|
||||||
|
<string>tgios-theme</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>UIDeviceFamily</key>
|
||||||
|
<array>
|
||||||
|
<integer>1</integer>
|
||||||
|
<integer>2</integer>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
36
Temp/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>aps-environment</key>
|
||||||
|
<string>development</string>
|
||||||
|
<key>com.apple.developer.associated-domains</key>
|
||||||
|
<array>
|
||||||
|
<string>applinks:telegram.me</string>
|
||||||
|
<string>applinks:t.me</string>
|
||||||
|
</array>
|
||||||
|
<key>com.apple.developer.icloud-container-identifiers</key>
|
||||||
|
<array>
|
||||||
|
<string>iCloud.org.telegram.Telegram-iOS</string>
|
||||||
|
</array>
|
||||||
|
<key>com.apple.developer.icloud-services</key>
|
||||||
|
<array>
|
||||||
|
<string>CloudKit</string>
|
||||||
|
<string>CloudDocuments</string>
|
||||||
|
</array>
|
||||||
|
<key>com.apple.developer.siri</key>
|
||||||
|
<true/>
|
||||||
|
<key>com.apple.developer.ubiquity-container-identifiers</key>
|
||||||
|
<array>
|
||||||
|
<string>iCloud.org.telegram.Telegram-iOS</string>
|
||||||
|
</array>
|
||||||
|
<key>com.apple.security.application-groups</key>
|
||||||
|
<array>
|
||||||
|
<string>group.org.telegram.Telegram-iOS</string>
|
||||||
|
</array>
|
||||||
|
<key>keychain-access-groups</key>
|
||||||
|
<array>
|
||||||
|
<string>X834Q8SBVP.org.telegram.Telegram-iOS</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
17
Temp/Telegram-iOS/main.m
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#import <dlfcn.h>
|
||||||
|
#import <MtProtoKit/MTProtoKit.h>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
/*NSString *basePath = [[NSString stringWithUTF8String:argv[0]] stringByDeletingLastPathComponent];
|
||||||
|
void *Share = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Share.appex/Share"] UTF8String], RTLD_LAZY);
|
||||||
|
void *NotificationContent = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/NotificationContent.appex/NotificationContent"] UTF8String], RTLD_LAZY);
|
||||||
|
sleep(1000);
|
||||||
|
void *NotificationService = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/NotificationService.appex/NotificationService"] UTF8String], RTLD_LAZY);
|
||||||
|
void *SiriIntents = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/SiriIntents.appex/SiriIntents"] UTF8String], RTLD_LAZY);
|
||||||
|
void *Widget = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Widget.appex/Widget"] UTF8String], RTLD_LAZY);*/
|
||||||
|
|
||||||
|
@autoreleasepool {
|
||||||
|
return UIApplicationMain(argc, argv, @"Application", @"AppDelegate");
|
||||||
|
}
|
||||||
|
}
|
1
Temp/Telegram_Buck.xcworkspace/buck-project.meta.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"required-targets":["//submodules/MtProtoKit:openssl_libs"],"xcconfig-paths":["buck-out/gen/Temp/AppLibrary-Debug.xcconfig","buck-out/gen/Temp/AppLibrary-Profile.xcconfig","buck-out/gen/Temp/AppLibrary-Release.xcconfig","buck-out/gen/Temp/Telegram-Debug.xcconfig","buck-out/gen/Temp/Telegram-Profile.xcconfig","buck-out/gen/Temp/Telegram-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKitFramework#iphonesimulator-x86_64-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKitFramework#iphonesimulator-x86_64-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKitFramework#iphonesimulator-x86_64-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Release.xcconfig"],"copy-in-xcode":[]}
|
1
Temp/Telegram_Buck.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Workspace version="1.0"><FileRef location="container:Temp.xcodeproj"/><Group location="container:" name="submodules"><FileRef location="container:../submodules/MtProtoKit/MtProtoKit.xcodeproj"/></Group></Workspace>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEDidComputeMac32BitWarning</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "9999"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB4B57B8200000000"
|
||||||
|
BuildableName = "libopenssl.a"
|
||||||
|
BlueprintName = "openssl"
|
||||||
|
ReferencedContainer = "container:../submodules/MtProtoKit/MtProtoKit.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EC43AA77A00000000"
|
||||||
|
BuildableName = "libAppLibrary.a"
|
||||||
|
BlueprintName = "AppLibrary"
|
||||||
|
ReferencedContainer = "container:Temp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04E3A2AABAF00000000"
|
||||||
|
BuildableName = "MtProtoKitFramework.framework"
|
||||||
|
BlueprintName = "MtProtoKitFramework#iphonesimulator-x86_64"
|
||||||
|
ReferencedContainer = "container:../submodules/MtProtoKit/MtProtoKit.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Temp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Temp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "E66DC04EB2C34D2100000000"
|
||||||
|
BuildableName = "Telegram.app"
|
||||||
|
BlueprintName = "Telegram"
|
||||||
|
ReferencedContainer = "container:Temp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
684
Temp/Temp.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,684 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>archiveVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>classes</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
<key>objectVersion</key>
|
||||||
|
<string>46</string>
|
||||||
|
<key>objects</key>
|
||||||
|
<dict>
|
||||||
|
<key>1DD70E29001F47FB00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>BUCK</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>BUCK</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.script.python</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29988E33D500000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Application.swift</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>Telegram-iOS/Application.swift</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29BF88817800000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>main.m</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>Telegram-iOS/main.m</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>lastKnownFileType</key>
|
||||||
|
<string>sourcecode.c.objc</string>
|
||||||
|
</dict>
|
||||||
|
<key>B401C979EAB5339800000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Sources</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>1DD70E29988E33D500000000</string>
|
||||||
|
<string>1DD70E29BF88817800000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>B401C979C43AA77A00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>AppLibrary</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>1DD70E29001F47FB00000000</string>
|
||||||
|
<string>B401C979EAB5339800000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E294E27EDFB00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>AppLibrary-Debug.xcconfig</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>../buck-out/gen/Temp/AppLibrary-Debug.xcconfig</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.xcconfig</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E294906F2A500000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>AppLibrary-Profile.xcconfig</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>../buck-out/gen/Temp/AppLibrary-Profile.xcconfig</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.xcconfig</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29BC9D9E0700000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>AppLibrary-Release.xcconfig</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>../buck-out/gen/Temp/AppLibrary-Release.xcconfig</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.xcconfig</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29A8C8657400000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Telegram-Debug.xcconfig</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>../buck-out/gen/Temp/Telegram-Debug.xcconfig</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.xcconfig</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E297D676FDE00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Telegram-Profile.xcconfig</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>../buck-out/gen/Temp/Telegram-Profile.xcconfig</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.xcconfig</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29F0FE1B4000000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Telegram-Release.xcconfig</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>../buck-out/gen/Temp/Telegram-Release.xcconfig</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.xcconfig</string>
|
||||||
|
</dict>
|
||||||
|
<key>B401C9792F7F325000000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Buck (Do Not Modify)</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>1DD70E294E27EDFB00000000</string>
|
||||||
|
<string>1DD70E294906F2A500000000</string>
|
||||||
|
<string>1DD70E29BC9D9E0700000000</string>
|
||||||
|
<string>1DD70E29A8C8657400000000</string>
|
||||||
|
<string>1DD70E297D676FDE00000000</string>
|
||||||
|
<string>1DD70E29F0FE1B4000000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>B401C979B781F65D00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Configurations</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>B401C9792F7F325000000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E296A34811900000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>MtProtoKitFramework.framework</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>MtProtoKitFramework.framework</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>BUILT_PRODUCTS_DIR</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>wrapper.framework</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E297ADFB9F200000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>libAppLibrary.a</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>libAppLibrary.a</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>BUILT_PRODUCTS_DIR</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>archive.ar</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29B22505DC00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>libMtProtoKit.dylib</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>libMtProtoKit.dylib</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>BUILT_PRODUCTS_DIR</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>compiled.mach-o.dylib</string>
|
||||||
|
</dict>
|
||||||
|
<key>B401C97968022A5500000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Frameworks</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>1DD70E296A34811900000000</string>
|
||||||
|
<string>1DD70E297ADFB9F200000000</string>
|
||||||
|
<string>1DD70E29B22505DC00000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29D83C37D400000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Telegram.app</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>Telegram.app</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>BUILT_PRODUCTS_DIR</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>wrapper.application</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E297ADFB9F200000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>libAppLibrary.a</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>libAppLibrary.a</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>BUILT_PRODUCTS_DIR</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>archive.ar</string>
|
||||||
|
</dict>
|
||||||
|
<key>B401C979C806358400000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Products</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>1DD70E29D83C37D400000000</string>
|
||||||
|
<string>1DD70E297ADFB9F200000001</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E29001F47FB00000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>BUCK</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>BUCK</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.script.python</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E296ABF6A1200000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Empty.swift</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>Empty.swift</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string>SOURCE_ROOT</string>
|
||||||
|
</dict>
|
||||||
|
<key>1DD70E2906C06BEE00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFileReference</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Info.plist</string>
|
||||||
|
<key>path</key>
|
||||||
|
<string>Telegram-iOS/Info.plist</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>explicitFileType</key>
|
||||||
|
<string>text.plist</string>
|
||||||
|
</dict>
|
||||||
|
<key>B401C979EAB5339800000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Sources</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>1DD70E296ABF6A1200000000</string>
|
||||||
|
<string>1DD70E2906C06BEE00000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>B401C979B2C34D2100000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Telegram</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>1DD70E29001F47FB00000001</string>
|
||||||
|
<string>B401C979EAB5339800000001</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>B401C979EFB6AC4600000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXGroup</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>mainGroup</string>
|
||||||
|
<key>sourceTree</key>
|
||||||
|
<string><![CDATA[<group>]]></string>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<string>B401C979C43AA77A00000000</string>
|
||||||
|
<string>B401C979B781F65D00000000</string>
|
||||||
|
<string>B401C97968022A5500000000</string>
|
||||||
|
<string>B401C979C806358400000000</string>
|
||||||
|
<string>B401C979B2C34D2100000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>E7A30F04988E33D500000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXBuildFile</string>
|
||||||
|
<key>fileRef</key>
|
||||||
|
<string>1DD70E29988E33D500000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>E7A30F04BF88817800000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXBuildFile</string>
|
||||||
|
<key>fileRef</key>
|
||||||
|
<string>1DD70E29BF88817800000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>1870857F0000000000000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXSourcesBuildPhase</string>
|
||||||
|
<key>files</key>
|
||||||
|
<array>
|
||||||
|
<string>E7A30F04988E33D500000000</string>
|
||||||
|
<string>E7A30F04BF88817800000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>4952437303EDA63300000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Debug</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
<key>baseConfigurationReference</key>
|
||||||
|
<string>1DD70E294E27EDFB00000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>4952437350C7218900000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Profile</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
<key>baseConfigurationReference</key>
|
||||||
|
<string>1DD70E294906F2A500000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>49524373A439BFE700000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Release</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
<key>baseConfigurationReference</key>
|
||||||
|
<string>1DD70E29BC9D9E0700000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>218C37090000000000000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCConfigurationList</string>
|
||||||
|
<key>buildConfigurations</key>
|
||||||
|
<array>
|
||||||
|
<string>4952437303EDA63300000000</string>
|
||||||
|
<string>4952437350C7218900000000</string>
|
||||||
|
<string>49524373A439BFE700000000</string>
|
||||||
|
</array>
|
||||||
|
<key>defaultConfigurationIsVisible</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<key>E66DC04EC43AA77A00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXNativeTarget</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>AppLibrary</string>
|
||||||
|
<key>productName</key>
|
||||||
|
<string>AppLibrary</string>
|
||||||
|
<key>productReference</key>
|
||||||
|
<string>1DD70E297ADFB9F200000001</string>
|
||||||
|
<key>productType</key>
|
||||||
|
<string>com.apple.product-type.library.static</string>
|
||||||
|
<key>dependencies</key>
|
||||||
|
<array>
|
||||||
|
</array>
|
||||||
|
<key>buildPhases</key>
|
||||||
|
<array>
|
||||||
|
<string>1870857F0000000000000000</string>
|
||||||
|
</array>
|
||||||
|
<key>buildConfigurationList</key>
|
||||||
|
<string>218C37090000000000000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>E7A30F046ABF6A1200000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXBuildFile</string>
|
||||||
|
<key>fileRef</key>
|
||||||
|
<string>1DD70E296ABF6A1200000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>1870857F0000000000000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXSourcesBuildPhase</string>
|
||||||
|
<key>files</key>
|
||||||
|
<array>
|
||||||
|
<string>E7A30F046ABF6A1200000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>E7A30F047ADFB9F200000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXBuildFile</string>
|
||||||
|
<key>fileRef</key>
|
||||||
|
<string>1DD70E297ADFB9F200000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>E7A30F04B22505DC00000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXBuildFile</string>
|
||||||
|
<key>fileRef</key>
|
||||||
|
<string>1DD70E29B22505DC00000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>4F426D880000000000000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXFrameworksBuildPhase</string>
|
||||||
|
<key>files</key>
|
||||||
|
<array>
|
||||||
|
<string>E7A30F047ADFB9F200000000</string>
|
||||||
|
<string>E7A30F04B22505DC00000000</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>E7A30F04B22505DC00000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXBuildFile</string>
|
||||||
|
<key>fileRef</key>
|
||||||
|
<string>1DD70E29B22505DC00000000</string>
|
||||||
|
<key>settings</key>
|
||||||
|
<dict>
|
||||||
|
<key>ATTRIBUTES</key>
|
||||||
|
<array>
|
||||||
|
<string>CodeSignOnCopy</string>
|
||||||
|
<string>RemoveHeadersOnCopy</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>E7A30F046A34811900000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXBuildFile</string>
|
||||||
|
<key>fileRef</key>
|
||||||
|
<string>1DD70E296A34811900000000</string>
|
||||||
|
<key>settings</key>
|
||||||
|
<dict>
|
||||||
|
<key>ATTRIBUTES</key>
|
||||||
|
<array>
|
||||||
|
<string>CodeSignOnCopy</string>
|
||||||
|
<string>RemoveHeadersOnCopy</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>FAF5FAC90000000000000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXCopyFilesBuildPhase</string>
|
||||||
|
<key>files</key>
|
||||||
|
<array>
|
||||||
|
<string>E7A30F04B22505DC00000001</string>
|
||||||
|
<string>E7A30F046A34811900000000</string>
|
||||||
|
</array>
|
||||||
|
<key>dstSubfolderSpec</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>dstPath</key>
|
||||||
|
<string></string>
|
||||||
|
</dict>
|
||||||
|
<key>4952437303EDA63300000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Debug</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
<key>baseConfigurationReference</key>
|
||||||
|
<string>1DD70E29A8C8657400000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>4952437350C7218900000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Profile</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
<key>baseConfigurationReference</key>
|
||||||
|
<string>1DD70E297D676FDE00000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>49524373A439BFE700000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Release</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
<key>baseConfigurationReference</key>
|
||||||
|
<string>1DD70E29F0FE1B4000000000</string>
|
||||||
|
</dict>
|
||||||
|
<key>218C37090000000000000001</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCConfigurationList</string>
|
||||||
|
<key>buildConfigurations</key>
|
||||||
|
<array>
|
||||||
|
<string>4952437303EDA63300000001</string>
|
||||||
|
<string>4952437350C7218900000001</string>
|
||||||
|
<string>49524373A439BFE700000001</string>
|
||||||
|
</array>
|
||||||
|
<key>defaultConfigurationIsVisible</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<key>E66DC04EB2C34D2100000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXNativeTarget</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Telegram</string>
|
||||||
|
<key>productName</key>
|
||||||
|
<string>Telegram</string>
|
||||||
|
<key>productReference</key>
|
||||||
|
<string>1DD70E29D83C37D400000000</string>
|
||||||
|
<key>productType</key>
|
||||||
|
<string>com.apple.product-type.application</string>
|
||||||
|
<key>dependencies</key>
|
||||||
|
<array>
|
||||||
|
</array>
|
||||||
|
<key>buildPhases</key>
|
||||||
|
<array>
|
||||||
|
<string>1870857F0000000000000001</string>
|
||||||
|
<string>4F426D880000000000000000</string>
|
||||||
|
<string>FAF5FAC90000000000000000</string>
|
||||||
|
</array>
|
||||||
|
<key>buildConfigurationList</key>
|
||||||
|
<string>218C37090000000000000001</string>
|
||||||
|
</dict>
|
||||||
|
<key>4952437303EDA63300000002</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Debug</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>4952437350C7218900000002</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Profile</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>49524373A439BFE700000002</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCBuildConfiguration</string>
|
||||||
|
<key>name</key>
|
||||||
|
<string>Release</string>
|
||||||
|
<key>buildSettings</key>
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>218C37090000000000000002</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>XCConfigurationList</string>
|
||||||
|
<key>buildConfigurations</key>
|
||||||
|
<array>
|
||||||
|
<string>4952437303EDA63300000002</string>
|
||||||
|
<string>4952437350C7218900000002</string>
|
||||||
|
<string>49524373A439BFE700000002</string>
|
||||||
|
</array>
|
||||||
|
<key>defaultConfigurationIsVisible</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<key>96C847930027B7F400000000</key>
|
||||||
|
<dict>
|
||||||
|
<key>isa</key>
|
||||||
|
<string>PBXProject</string>
|
||||||
|
<key>mainGroup</key>
|
||||||
|
<string>B401C979EFB6AC4600000000</string>
|
||||||
|
<key>targets</key>
|
||||||
|
<array>
|
||||||
|
<string>E66DC04EC43AA77A00000000</string>
|
||||||
|
<string>E66DC04EB2C34D2100000000</string>
|
||||||
|
</array>
|
||||||
|
<key>buildConfigurationList</key>
|
||||||
|
<string>218C37090000000000000002</string>
|
||||||
|
<key>compatibilityVersion</key>
|
||||||
|
<string>Xcode 3.2</string>
|
||||||
|
<key>attributes</key>
|
||||||
|
<dict>
|
||||||
|
<key>LastUpgradeCheck</key>
|
||||||
|
<string>9999</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>rootObject</key>
|
||||||
|
<string>96C847930027B7F400000000</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
1
Temp/Temp.xcodeproj/xcshareddata/xcschemes/Temp.xcscheme
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Scheme LastUpgradeVersion="9999" version="1.7"><BuildAction buildImplicitDependencies="YES" parallelizeBuildables="YES"><BuildActionEntries><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04EB2C34D2100000000" BlueprintName="Telegram" BuildableIdentifier="primary" BuildableName="Telegram.app" ReferencedContainer="container:Temp.xcodeproj"/></BuildActionEntry><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04EC43AA77A00000000" BlueprintName="AppLibrary" BuildableIdentifier="primary" BuildableName="libAppLibrary.a" ReferencedContainer="container:Temp.xcodeproj"/></BuildActionEntry></BuildActionEntries></BuildAction><TestAction buildConfiguration="Debug" shouldUseLaunchSchemeArgsEnv="YES"><Testables/></TestAction><LaunchAction buildConfiguration="Debug"/><ProfileAction buildConfiguration="Release"/><AnalyzeAction buildConfiguration="Debug"/><ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"/></Scheme>
|
@ -17,9 +17,13 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>5.11</string>
|
<string>5.12</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${BUILD_NUMBER}</string>
|
<string>${BUILD_NUMBER}</string>
|
||||||
|
<key>UIDeviceFamily</key>
|
||||||
|
<array>
|
||||||
|
<integer>4</integer>
|
||||||
|
</array>
|
||||||
<key>UISupportedInterfaceOrientations</key>
|
<key>UISupportedInterfaceOrientations</key>
|
||||||
<array>
|
<array>
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
|
76
Watch/BUCK
@ -1,76 +0,0 @@
|
|||||||
load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config')
|
|
||||||
load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG')
|
|
||||||
|
|
||||||
apple_library(
|
|
||||||
name = 'WatchUtils',
|
|
||||||
srcs = [
|
|
||||||
'Bridge/TGBridgeCommon.m',
|
|
||||||
'Bridge/TGBridgeContactMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeVideoMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeSubscriptions.m',
|
|
||||||
'Bridge/TGBridgeLocationVenue.m',
|
|
||||||
'Bridge/TGBridgeImageMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeBotInfo.m',
|
|
||||||
'Bridge/TGBridgeChatMessages.m',
|
|
||||||
'Bridge/TGBridgeMessage.m',
|
|
||||||
'Bridge/TGBridgeUnsupportedMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeChat.m',
|
|
||||||
'Bridge/TGBridgeForwardedMessageMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeMessageEntities.m',
|
|
||||||
'Bridge/TGBridgeLocationMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeMessageEntitiesAttachment.m',
|
|
||||||
'Bridge/TGBridgeReplyMarkupMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeWebPageMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeDocumentMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeActionMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeContext.m',
|
|
||||||
'Bridge/TGBridgeMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeUser.m',
|
|
||||||
'Bridge/TGBridgeBotCommandInfo.m',
|
|
||||||
'Bridge/TGBridgeAudioMediaAttachment.m',
|
|
||||||
'Bridge/TGBridgeReplyMessageMediaAttachment.m',
|
|
||||||
],
|
|
||||||
headers = glob([
|
|
||||||
'Bridge/*.h',
|
|
||||||
'Extension/*.h',
|
|
||||||
]),
|
|
||||||
header_namespace = 'WatchUtils',
|
|
||||||
exported_headers = [
|
|
||||||
'Bridge/TGBridgeCommon.h',
|
|
||||||
'Bridge/TGBridgeContactMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeVideoMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeSubscriptions.h',
|
|
||||||
'Bridge/TGBridgeLocationVenue.h',
|
|
||||||
'Bridge/TGBridgeImageMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeBotInfo.h',
|
|
||||||
'Bridge/TGBridgeChatMessages.h',
|
|
||||||
'Bridge/TGBridgeMessage.h',
|
|
||||||
'Bridge/TGBridgeUnsupportedMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeChat.h',
|
|
||||||
'Bridge/TGBridgeForwardedMessageMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeMessageEntities.h',
|
|
||||||
'Bridge/TGBridgeLocationMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeMessageEntitiesAttachment.h',
|
|
||||||
'Bridge/TGBridgeReplyMarkupMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeWebPageMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeDocumentMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeActionMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeContext.h',
|
|
||||||
'Bridge/TGBridgeMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeUser.h',
|
|
||||||
'Bridge/TGBridgeBotCommandInfo.h',
|
|
||||||
'Bridge/TGBridgeAudioMediaAttachment.h',
|
|
||||||
'Bridge/TGBridgeReplyMessageMediaAttachment.h',
|
|
||||||
],
|
|
||||||
modular = True,
|
|
||||||
configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])),
|
|
||||||
compiler_flags = [
|
|
||||||
'-w',
|
|
||||||
],
|
|
||||||
preprocessor_flags = ['-fobjc-arc'],
|
|
||||||
visibility = ['PUBLIC'],
|
|
||||||
frameworks = [
|
|
||||||
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
|
|
||||||
'$SDKROOT/System/Library/Frameworks/UIKit.framework',
|
|
||||||
],
|
|
||||||
)
|
|
@ -1,9 +0,0 @@
|
|||||||
#import "TGBridgeBotInfo.h"
|
|
||||||
|
|
||||||
@class TGBotInfo;
|
|
||||||
|
|
||||||
@interface TGBridgeBotInfo (TGBotInfo)
|
|
||||||
|
|
||||||
+ (TGBridgeBotInfo *)botInfoWithTGBotInfo:(TGBotInfo *)botInfo userId:(int32_t)userId;
|
|
||||||
|
|
||||||
@end
|
|
@ -1,29 +0,0 @@
|
|||||||
#import "TGBridgeBotInfo+TGBotInfo.h"
|
|
||||||
|
|
||||||
#import <LegacyComponents/LegacyComponents.h>
|
|
||||||
|
|
||||||
#import "TGBridgeBotCommandInfo+TGBotCommandInfo.h"
|
|
||||||
|
|
||||||
@implementation TGBridgeBotInfo (TGBotInfo)
|
|
||||||
|
|
||||||
+ (TGBridgeBotInfo *)botInfoWithTGBotInfo:(TGBotInfo *)botInfo userId:(int32_t)userId
|
|
||||||
{
|
|
||||||
TGBridgeBotInfo *bridgeBotInfo = [[TGBridgeBotInfo alloc] init];
|
|
||||||
bridgeBotInfo->_version = botInfo.version;
|
|
||||||
bridgeBotInfo->_userId = userId;
|
|
||||||
bridgeBotInfo->_shortDescription = botInfo.shortDescription;
|
|
||||||
bridgeBotInfo->_botDescription = botInfo.botDescription;
|
|
||||||
|
|
||||||
NSMutableArray *commandList = [[NSMutableArray alloc] init];
|
|
||||||
for (TGBotComandInfo *commandInfo in botInfo.commandList)
|
|
||||||
{
|
|
||||||
TGBridgeBotCommandInfo *bridgeCommandInfo = [TGBridgeBotCommandInfo botCommandInfoWithTGBotCommandInfo:commandInfo];
|
|
||||||
if (bridgeCommandInfo != nil)
|
|
||||||
[commandList addObject:bridgeCommandInfo];
|
|
||||||
}
|
|
||||||
bridgeBotInfo->_commandList = commandList;
|
|
||||||
|
|
||||||
return bridgeBotInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|
@ -1,11 +0,0 @@
|
|||||||
#import "TGBridgeImageInfo.h"
|
|
||||||
|
|
||||||
@class TGImageInfo;
|
|
||||||
|
|
||||||
@interface TGBridgeImageInfo (TGImageInfo)
|
|
||||||
|
|
||||||
+ (TGBridgeImageInfo *)imageInfoWithTGImageInfo:(TGImageInfo *)imageInfo;
|
|
||||||
|
|
||||||
+ (TGImageInfo *)tgImageInfoWithBridgeImageInfo:(TGBridgeImageInfo *)bridgeImageInfo;
|
|
||||||
|
|
||||||
@end
|
|
@ -1,43 +0,0 @@
|
|||||||
#import "TGBridgeImageInfo+TGImageInfo.h"
|
|
||||||
|
|
||||||
#import <LegacyComponents/LegacyComponents.h>
|
|
||||||
|
|
||||||
@implementation TGBridgeImageInfo (TGImageInfo)
|
|
||||||
|
|
||||||
+ (TGBridgeImageInfo *)imageInfoWithTGImageInfo:(TGImageInfo *)imageInfo
|
|
||||||
{
|
|
||||||
if (imageInfo == nil)
|
|
||||||
return nil;
|
|
||||||
|
|
||||||
TGBridgeImageInfo *bridgeImageInfo = [[TGBridgeImageInfo alloc] init];
|
|
||||||
NSDictionary *allSizes = imageInfo.allSizes;
|
|
||||||
|
|
||||||
NSMutableArray *bridgeEntries = [[NSMutableArray alloc] init];
|
|
||||||
for (NSString *url in allSizes.allKeys)
|
|
||||||
{
|
|
||||||
TGBridgeImageSizeInfo *bridgeEntry = [[TGBridgeImageSizeInfo alloc] init];
|
|
||||||
bridgeEntry.url = url;
|
|
||||||
bridgeEntry.dimensions = [allSizes[url] CGSizeValue];
|
|
||||||
|
|
||||||
[bridgeEntries addObject:bridgeEntry];
|
|
||||||
}
|
|
||||||
|
|
||||||
bridgeImageInfo->_entries = bridgeEntries;
|
|
||||||
|
|
||||||
return bridgeImageInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ (TGImageInfo *)tgImageInfoWithBridgeImageInfo:(TGBridgeImageInfo *)bridgeImageInfo
|
|
||||||
{
|
|
||||||
if (bridgeImageInfo == nil)
|
|
||||||
return nil;
|
|
||||||
|
|
||||||
TGImageInfo *imageInfo = [[TGImageInfo alloc] init];
|
|
||||||
|
|
||||||
for (TGBridgeImageSizeInfo *entry in bridgeImageInfo.entries)
|
|
||||||
[imageInfo addImageWithSize:entry.dimensions url:entry.url];
|
|
||||||
|
|
||||||
return imageInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|
@ -1,9 +0,0 @@
|
|||||||
#import "TGBridgeMessageEntities.h"
|
|
||||||
|
|
||||||
#import <LegacyComponents/LegacyComponents.h>
|
|
||||||
|
|
||||||
@interface TGBridgeMessageEntity (TGMessageEntity)
|
|
||||||
|
|
||||||
+ (TGBridgeMessageEntity *)entityWithTGMessageEntity:(TGMessageEntity *)entity;
|
|
||||||
|
|
||||||
@end
|
|
@ -1,38 +0,0 @@
|
|||||||
#import "TGBridgeMessageEntity+TGMessageEntity.h"
|
|
||||||
|
|
||||||
#import <LegacyComponents/LegacyComponents.h>
|
|
||||||
|
|
||||||
@implementation TGBridgeMessageEntity (TGMessageEntity)
|
|
||||||
|
|
||||||
+ (TGBridgeMessageEntity *)entityWithTGMessageEntity:(TGMessageEntity *)entity
|
|
||||||
{
|
|
||||||
Class bridgeEntityClass = nil;
|
|
||||||
|
|
||||||
if ([entity isKindOfClass:[TGMessageEntityUrl class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityUrl class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityEmail class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityEmail class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityTextUrl class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityTextUrl class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityMention class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityMention class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityHashtag class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityHashtag class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityBotCommand class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityBotCommand class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityBold class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityBold class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityItalic class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityItalic class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityCode class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityCode class];
|
|
||||||
else if ([entity isKindOfClass:[TGMessageEntityPre class]])
|
|
||||||
bridgeEntityClass = [TGBridgeMessageEntityPre class];
|
|
||||||
|
|
||||||
if (bridgeEntityClass != nil)
|
|
||||||
return [bridgeEntityClass entitityWithRange:entity.range];
|
|
||||||
|
|
||||||
return nil;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|
@ -1,9 +0,0 @@
|
|||||||
#import "TGBridgeStickerPack.h"
|
|
||||||
|
|
||||||
@class TGStickerPack;
|
|
||||||
|
|
||||||
@interface TGBridgeStickerPack (TGStickerPack)
|
|
||||||
|
|
||||||
+ (TGBridgeStickerPack *)stickerPackWithTGStickerPack:(TGStickerPack *)stickerPack;
|
|
||||||
|
|
||||||
@end
|
|
@ -1,26 +0,0 @@
|
|||||||
#import "TGBridgeStickerPack+TGStickerPack.h"
|
|
||||||
#import <LegacyComponents/TGStickerPack.h>
|
|
||||||
#import "TGBridgeDocumentMediaAttachment+TGDocumentMediaAttachment.h"
|
|
||||||
|
|
||||||
@implementation TGBridgeStickerPack (TGStickerPack)
|
|
||||||
|
|
||||||
+ (TGBridgeStickerPack *)stickerPackWithTGStickerPack:(TGStickerPack *)stickerPack
|
|
||||||
{
|
|
||||||
TGBridgeStickerPack *bridgeStickerPack = [[TGBridgeStickerPack alloc] init];
|
|
||||||
bridgeStickerPack->_builtIn = [stickerPack.packReference isKindOfClass:[TGStickerPackBuiltinReference class]];
|
|
||||||
bridgeStickerPack->_title = stickerPack.title;
|
|
||||||
|
|
||||||
NSMutableArray *bridgeDocuments = [[NSMutableArray alloc] init];
|
|
||||||
for (TGDocumentMediaAttachment *document in stickerPack.documents)
|
|
||||||
{
|
|
||||||
TGBridgeDocumentMediaAttachment *bridgeDocument = [TGBridgeDocumentMediaAttachment attachmentWithTGDocumentMediaAttachment:document];
|
|
||||||
if (bridgeDocument != nil)
|
|
||||||
[bridgeDocuments addObject:bridgeDocument];
|
|
||||||
}
|
|
||||||
|
|
||||||
bridgeStickerPack->_documents = bridgeDocuments;
|
|
||||||
|
|
||||||
return bridgeStickerPack;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|
@ -1,10 +0,0 @@
|
|||||||
#import "TGBridgeUser.h"
|
|
||||||
|
|
||||||
@class TGUser;
|
|
||||||
@class TGBotInfo;
|
|
||||||
|
|
||||||
@interface TGBridgeUser (TGUser)
|
|
||||||
|
|
||||||
+ (TGBridgeUser *)userWithTGUser:(TGUser *)user;
|
|
||||||
|
|
||||||
@end
|
|
@ -1,34 +0,0 @@
|
|||||||
#import "TGBridgeUser+TGUser.h"
|
|
||||||
|
|
||||||
#import <LegacyComponents/LegacyComponents.h>
|
|
||||||
|
|
||||||
#import "TGBridgeBotInfo+TGBotInfo.h"
|
|
||||||
|
|
||||||
@implementation TGBridgeUser (TGUser)
|
|
||||||
|
|
||||||
+ (TGBridgeUser *)userWithTGUser:(TGUser *)user
|
|
||||||
{
|
|
||||||
if (user == nil)
|
|
||||||
return nil;
|
|
||||||
|
|
||||||
TGBridgeUser *bridgeUser = [[TGBridgeUser alloc] init];
|
|
||||||
bridgeUser->_identifier = user.uid;
|
|
||||||
bridgeUser->_firstName = user.firstName;
|
|
||||||
bridgeUser->_lastName = user.lastName;
|
|
||||||
bridgeUser->_userName = user.userName;
|
|
||||||
bridgeUser->_phoneNumber = user.phoneNumber;
|
|
||||||
if (user.phoneNumber != nil)
|
|
||||||
bridgeUser->_prettyPhoneNumber = [TGPhoneUtils formatPhone:user.phoneNumber forceInternational:false];
|
|
||||||
bridgeUser->_online = user.presence.online;
|
|
||||||
bridgeUser->_lastSeen = user.presence.lastSeen;
|
|
||||||
bridgeUser->_photoSmall = user.photoUrlSmall;
|
|
||||||
bridgeUser->_photoBig = user.photoUrlBig;
|
|
||||||
bridgeUser->_kind = user.kind;
|
|
||||||
bridgeUser->_botKind = user.botKind;
|
|
||||||
bridgeUser->_botVersion = user.botInfoVersion;
|
|
||||||
bridgeUser->_verified = user.isVerified;
|
|
||||||
|
|
||||||
return bridgeUser;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|