mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Update build files
This commit is contained in:
parent
75fdeb0c4e
commit
7fa0af84cf
14
.buckconfig
14
.buckconfig
@ -1,14 +1,14 @@
|
||||
[cxx]
|
||||
default_platform = iphonesimulator-x86_64
|
||||
cflags = -g -fmodules -fobjc-arc -D BUCK -DTARGET_OS_IOS=1 -D DEBUG -w $(config custom.other_cflags)
|
||||
cxxflags = -fobjc-arc -std=c++14 -D BUCK -DTARGET_OS_IOS=1 -D DEBUG -g $(config custom.other_cxxflags)
|
||||
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 -DTARGET_OS_IOS=1 -g $(config custom.other_cxxflags)
|
||||
combined_preprocess_and_compile = true
|
||||
pch_enabled = false
|
||||
ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime $(config custom.other_cxxflags)
|
||||
|
||||
[swift]
|
||||
version = 5
|
||||
compiler_flags = -DBUCK $(config custom.optimization) $(config custom.config_swift_compiler_flags) $(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
|
||||
|
||||
[apple]
|
||||
@ -32,12 +32,4 @@
|
||||
allow_symlinks = forbid
|
||||
ignore = tools, \
|
||||
.git, \
|
||||
|
||||
[build]
|
||||
threads = 12
|
||||
|
||||
[custom]
|
||||
config = debug
|
||||
optimization = -Onone
|
||||
config_swift_compiler_flags = -DDEBUG -enable-testing -g
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
||||
<?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:App.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:App.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>
|
171
App_t/BUCK
171
App_t/BUCK
@ -1,171 +0,0 @@
|
||||
load("//Config:configs.bzl", "app_binary_configs", "share_extension_configs", "library_configs", "pretty", "info_plist_substitutions", "app_info_plist_substitutions", "share_extension_info_plist_substitutions", "DEVELOPMENT_LANGUAGE")
|
||||
load("//Config:buck_rule_macros.bzl", "apple_lib", "framework_binary_dependencies", "framework_bundle_dependencies")
|
||||
|
||||
static_library_dependencies = [
|
||||
]
|
||||
|
||||
framework_dependencies = [
|
||||
"//submodules/MtProtoKit:MtProtoKit",
|
||||
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
||||
"//submodules/Postbox:Postbox",
|
||||
"//submodules/TelegramCore:TelegramCore",
|
||||
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
|
||||
"//submodules/Display:Display",
|
||||
"//submodules/TelegramUI:TelegramUI",
|
||||
]
|
||||
|
||||
resource_dependencies = [
|
||||
"//submodules/LegacyComponents:LegacyComponentsResources",
|
||||
"//submodules/TelegramUI:TelegramUIAssets",
|
||||
"//submodules/TelegramUI:TelegramUIResources",
|
||||
"//:AppResources",
|
||||
"//:AppStringResources",
|
||||
"//:Icons",
|
||||
"//:AppIcons",
|
||||
"//:AdditionalIcons",
|
||||
"//:LaunchScreen",
|
||||
]
|
||||
|
||||
build_phase_scripts = [
|
||||
]
|
||||
|
||||
apple_resource(
|
||||
name = "AppResources",
|
||||
files = glob([
|
||||
"Telegram-iOS/Resources/**/*",
|
||||
], exclude = ["Telegram-iOS/Resources/**/.*"]),
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_resource(
|
||||
name = "AppStringResources",
|
||||
files = [],
|
||||
variants = glob([
|
||||
"Telegram-iOS/*.lproj/Localizable.strings",
|
||||
]),
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_asset_catalog(
|
||||
name = 'Icons',
|
||||
dirs = [
|
||||
"Telegram-iOS/Icons.xcassets",
|
||||
],
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_asset_catalog(
|
||||
name = 'AppIcons',
|
||||
dirs = [
|
||||
"Telegram-iOS/AppIcons.xcassets",
|
||||
],
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_resource(
|
||||
name = "AdditionalIcons",
|
||||
files = glob([
|
||||
"Telegram-iOS/*.png",
|
||||
]),
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_resource(
|
||||
name = 'LaunchScreen',
|
||||
files = [
|
||||
'Telegram-iOS/Base.lproj/LaunchScreen.xib',
|
||||
],
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_library(
|
||||
name = "AppLibrary",
|
||||
visibility = [
|
||||
"//App:",
|
||||
"//App/...",
|
||||
],
|
||||
configs = library_configs(),
|
||||
swift_version = native.read_config("swift", "version"),
|
||||
srcs = [
|
||||
"Sources/main.m",
|
||||
"Sources/Application.swift"
|
||||
],
|
||||
deps = [
|
||||
]
|
||||
+ static_library_dependencies
|
||||
+ framework_binary_dependencies(framework_dependencies),
|
||||
)
|
||||
|
||||
apple_binary(
|
||||
name = "AppBinary",
|
||||
visibility = [
|
||||
"//App:",
|
||||
"//App/...",
|
||||
],
|
||||
configs = app_binary_configs("Telegram"),
|
||||
swift_version = native.read_config("swift", "version"),
|
||||
srcs = [
|
||||
"SupportFiles/Empty.swift",
|
||||
],
|
||||
deps = [
|
||||
":AppLibrary",
|
||||
]
|
||||
+ resource_dependencies,
|
||||
)
|
||||
|
||||
xcode_workspace_config(
|
||||
name = "workspace",
|
||||
workspace_name = "Telegram_Buck",
|
||||
src_target = ":Telegram",
|
||||
)
|
||||
|
||||
apple_bundle(
|
||||
name = "Telegram",
|
||||
visibility = [
|
||||
"//App:",
|
||||
],
|
||||
extension = "app",
|
||||
binary = ":AppBinary",
|
||||
product_name = "Telegram",
|
||||
info_plist = "Info.plist",
|
||||
info_plist_substitutions = app_info_plist_substitutions("Telegram"),
|
||||
deps = [
|
||||
":ShareExtension",
|
||||
]
|
||||
+ framework_bundle_dependencies(framework_dependencies),
|
||||
)
|
||||
|
||||
apple_binary(
|
||||
name = "ShareBinary",
|
||||
srcs = glob([
|
||||
"Share/**/*.swift",
|
||||
]),
|
||||
configs = share_extension_configs("Share"),
|
||||
linker_flags = [
|
||||
"-e",
|
||||
"_NSExtensionMain",
|
||||
"-Xlinker",
|
||||
"-rpath",
|
||||
"-Xlinker",
|
||||
"@executable_path/../../Frameworks",
|
||||
],
|
||||
deps = [
|
||||
"//submodules/TelegramUI:TelegramUI#shared",
|
||||
],
|
||||
)
|
||||
|
||||
apple_bundle(
|
||||
name = "ShareExtension",
|
||||
binary = ":ShareBinary",
|
||||
extension = "appex",
|
||||
info_plist = "Share/Info.plist",
|
||||
info_plist_substitutions = share_extension_info_plist_substitutions("Share"),
|
||||
deps = [
|
||||
],
|
||||
xcode_product_type = "com.apple.product-type.app-extension",
|
||||
)
|
||||
|
||||
apple_package(
|
||||
name = "AppPackage",
|
||||
bundle = ":Telegram",
|
||||
)
|
@ -1 +0,0 @@
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
24
BUCK
24
BUCK
@ -29,9 +29,6 @@ load("//Config:buck_rule_macros.bzl",
|
||||
"merge_maps",
|
||||
)
|
||||
|
||||
static_library_dependencies = [
|
||||
]
|
||||
|
||||
framework_dependencies = [
|
||||
"//submodules/MtProtoKit:MtProtoKit",
|
||||
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
||||
@ -48,8 +45,8 @@ resource_dependencies = [
|
||||
"//submodules/TelegramUI:TelegramUIResources",
|
||||
"//:AppResources",
|
||||
"//:AppStringResources",
|
||||
"//:AppIntentVocabularyResources",
|
||||
"//:Icons",
|
||||
"//:AppIcons",
|
||||
"//:AdditionalIcons",
|
||||
"//:LaunchScreen",
|
||||
]
|
||||
@ -74,19 +71,22 @@ apple_resource(
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_resource(
|
||||
name = "AppIntentVocabularyResources",
|
||||
files = [],
|
||||
variants = glob([
|
||||
"Telegram-iOS/*.lproj/AppIntentVocabulary.plist",
|
||||
]),
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_asset_catalog(
|
||||
name = "Icons",
|
||||
dirs = [
|
||||
"Telegram-iOS/Icons.xcassets",
|
||||
],
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
apple_asset_catalog(
|
||||
name = "AppIcons",
|
||||
dirs = [
|
||||
"Telegram-iOS/AppIcons.xcassets",
|
||||
],
|
||||
app_icon = "AppIconLLC",
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
@ -120,7 +120,6 @@ apple_library(
|
||||
],
|
||||
deps = [
|
||||
]
|
||||
+ static_library_dependencies
|
||||
+ framework_binary_dependencies(framework_dependencies),
|
||||
)
|
||||
|
||||
@ -419,6 +418,7 @@ apple_asset_catalog(
|
||||
dirs = [
|
||||
"Watch/App/Assets.xcassets",
|
||||
],
|
||||
app_icon = "AppIcon",
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
|
||||
|
@ -57,7 +57,10 @@ def apple_lib(
|
||||
else:
|
||||
linker_flags = []
|
||||
|
||||
resolved_linker_flags = linker_flags + additional_linker_flags + ["-Wl,-install_name,@rpath/lib%s.dylib" % (name)]
|
||||
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,
|
||||
@ -78,7 +81,7 @@ def apple_lib(
|
||||
platform_compiler_flags = platform_compiler_flags,
|
||||
swift_compiler_flags = swift_compiler_flags,
|
||||
preferred_linkage = "shared",
|
||||
link_style = "static",
|
||||
#link_style = "static",
|
||||
linker_flags = resolved_linker_flags,
|
||||
)
|
||||
else:
|
||||
@ -109,6 +112,7 @@ def apple_lib(
|
||||
compiler_flags = compiler_flags,
|
||||
platform_compiler_flags = platform_compiler_flags,
|
||||
swift_compiler_flags = swift_compiler_flags,
|
||||
preferred_linkage = "static",
|
||||
)
|
||||
|
||||
def static_library(
|
||||
|
@ -174,7 +174,7 @@ def dynamic_library_configs():
|
||||
|
||||
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)
|
||||
#library_config = config_with_updated_linker_flags(library_config, ALL_LOAD_LINKER_FLAG)
|
||||
configs = {
|
||||
"Debug": library_config,
|
||||
"Profile": library_config,
|
||||
@ -193,6 +193,7 @@ def app_binary_configs():
|
||||
"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())
|
||||
@ -360,6 +361,8 @@ def app_info_plist_substitutions():
|
||||
"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
|
||||
|
||||
|
124
Makefile
124
Makefile
@ -1,4 +1,17 @@
|
||||
.PHONY : check_env build build_arm64 package_arm64 app_arm64 build_buckdebug build_verbose kill_xcode clean project project_buckdebug
|
||||
.PHONY : check_env build build_arm64 package package_arm64 app app_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}" \
|
||||
@ -36,17 +49,77 @@ BUCK_OPTIONS=\
|
||||
--config custom.developmentProvisioningProfileWatchExtension="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||
--config custom.distributionProvisioningProfileWatchExtension="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}"
|
||||
|
||||
BUCK=/Users/peter/build/buck-next/buck/buck-out/gen/programs/buck.pex
|
||||
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: check_env
|
||||
$(BUCK) build //:AppPackage#iphoneos-arm64,iphoneos-armv7 ${BUCK_OPTIONS}
|
||||
sh package_app.sh iphoneos-arm64,iphoneos-armv7 $(BUCK) ${BUCK_OPTIONS}
|
||||
|
||||
build_arm64: check_env
|
||||
$(BUCK) build //:AppPackage#iphoneos-arm64 ${BUCK_OPTIONS}
|
||||
$(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: 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}" \
|
||||
@ -65,15 +138,38 @@ package_arm64:
|
||||
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}" \
|
||||
sh package_app.sh iphoneos-arm64 $(BUCK) $(BUCK_OPTIONS)
|
||||
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
|
||||
|
||||
build_buckdebug: check_env
|
||||
BUCK_DEBUG_MODE=1 $(BUCK) build //:AppPackage#iphoneos-arm64 ${BUCK_OPTIONS}
|
||||
BUCK_DEBUG_MODE=1 $(BUCK) build //submodules/Postbox:Postbox#shared,iphoneos-arm64,iphoneos-armv7 --verbose 7 ${BUCK_OPTIONS} ${BUCK_RELEASE_OPTIONS}
|
||||
|
||||
build_verbose: check_env
|
||||
$(BUCK) build //:AppPackage#iphoneos-arm64 --verbose 7 ${BUCK_OPTIONS}
|
||||
$(BUCK) build //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64,iphoneos-armv7 --verbose 7 ${BUCK_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_RELEASE_OPTIONS}
|
||||
|
||||
kill_xcode:
|
||||
killall Xcode || true
|
||||
@ -83,9 +179,13 @@ clean: kill_xcode
|
||||
sh clean.sh
|
||||
|
||||
project: check_env kill_xcode
|
||||
$(BUCK) project //:workspace --config custom.mode=project ${BUCK_OPTIONS}
|
||||
$(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_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
|
||||
|
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${BUILD_NUMBER}</string>
|
||||
<key>NSExtension</key>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${BUILD_NUMBER}</string>
|
||||
<key>NSExtension</key>
|
||||
@ -27,5 +27,7 @@
|
||||
<key>NSExtensionPrincipalClass</key>
|
||||
<string>NotificationService</string>
|
||||
</dict>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>10.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${BUILD_NUMBER}</string>
|
||||
<key>NSExtension</key>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${BUILD_NUMBER}</string>
|
||||
<key>NSExtension</key>
|
||||
|
@ -185,7 +185,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
@ -356,5 +356,10 @@
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>UIDeviceFamily</key>
|
||||
<array>
|
||||
<integer>1</integer>
|
||||
<integer>2</integer>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -218,6 +218,7 @@
|
||||
"PUSH_CHAT_MESSAGE_VIDEOS" = "%1$@ sent %3$@ videos to the group %2$@";
|
||||
|
||||
"PUSH_REMINDER_TITLE" = "🗓 Reminder";
|
||||
"PUSH_SENDER_YOU" = "📅 You";
|
||||
|
||||
"LOCAL_MESSAGE_FWDS" = "%1$@ forwarded you %2$d messages";
|
||||
"LOCAL_CHANNEL_MESSAGE_FWDS" = "%1$@ posted %2$d forwarded messages";
|
||||
|
@ -8,7 +8,8 @@ int main(int argc, char *argv[]) {
|
||||
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);*/
|
||||
void *Widget = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Widget.appex/Widget"] UTF8String], RTLD_LAZY);
|
||||
1*/
|
||||
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, @"Application", @"AppDelegate");
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -412,20 +412,6 @@
|
||||
ReferencedContainer = "container:submodules/GZip/GZip.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E66DC04E79C1F69100000000"
|
||||
BuildableName = "libRLottie.a"
|
||||
BlueprintName = "RLottie"
|
||||
ReferencedContainer = "container:submodules/RLottie/RLottie.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
@ -524,6 +510,20 @@
|
||||
ReferencedContainer = "container:submodules/lottie-ios/lottie-ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "E66DC04ECF8CFAB400000000"
|
||||
BuildableName = "libRLottieBinding.a"
|
||||
BlueprintName = "RLottieBinding"
|
||||
ReferencedContainer = "container:submodules/rlottie/rlottie.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
|
80
Temp/BUCK
Normal file
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",
|
||||
)
|
365
Temp/Telegram-iOS/Info.plist
Normal file
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>
|
@ -1,5 +1,6 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <dlfcn.h>
|
||||
#import <MtProtoKit/MTProtoKit.h>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
/*NSString *basePath = [[NSString stringWithUTF8String:argv[0]] stringByDeletingLastPathComponent];
|
1
Temp/Telegram_Buck.xcworkspace/buck-project.meta.json
Normal file
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
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,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
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
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>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${BUILD_NUMBER}</string>
|
||||
<key>UIDeviceFamily</key>
|
||||
<array>
|
||||
<integer>4</integer>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
@ -29,9 +33,5 @@
|
||||
<string>$(APP_BUNDLE_ID)</string>
|
||||
<key>WKWatchKitApp</key>
|
||||
<true/>
|
||||
<key>UIDeviceFamily</key>
|
||||
<array>
|
||||
<integer>4</integer>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${BUILD_NUMBER}</string>
|
||||
<key>NSExtension</key>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.11</string>
|
||||
<string>5.12</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${BUILD_NUMBER}</string>
|
||||
<key>NSExtension</key>
|
||||
|
@ -1,4 +0,0 @@
|
||||
DIR="$(pwd)"
|
||||
cd "$HOME/build/buck"
|
||||
buck-out/gen/programs/buck.pex build buck
|
||||
cd "$DIR"
|
@ -36,14 +36,28 @@ if [ `which cleanup-telegram-build-vms.sh` ]; then
|
||||
cleanup-telegram-build-vms.sh
|
||||
fi
|
||||
|
||||
if [ -z "$BUCK" ]; then
|
||||
echo "BUCK is not defined"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$BUCK" ]; then
|
||||
echo "buck not found at $BUCK"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BUILDBOX_DIR="buildbox"
|
||||
|
||||
mkdir -p "$BUILDBOX_DIR/transient-data"
|
||||
|
||||
rm -f "tools/buck"
|
||||
cp "$BUCK" "tools/buck"
|
||||
|
||||
BUILD_CONFIGURATION="$1"
|
||||
|
||||
if [ "$BUILD_CONFIGURATION" == "hockeyapp" ]; then
|
||||
CODESIGNING_SUBPATH="transient-data/codesigning"
|
||||
CODESIGNING_TEAMS_SUBPATH="transient-data/teams"
|
||||
elif [ "$BUILD_CONFIGURATION" == "appstore" ]; then
|
||||
CODESIGNING_SUBPATH="transient-data/codesigning"
|
||||
elif [ "$BUILD_CONFIGURATION" == "verify" ]; then
|
||||
@ -70,8 +84,14 @@ if [ "$BUILD_CONFIGURATION" == "hockeyapp" ] || [ "$BUILD_CONFIGURATION" == "app
|
||||
echo "setup-telegram-build.sh not found in PATH $PATH"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! `which setup-codesigning.sh` ]; then
|
||||
echo "setup-codesigning.sh not found in PATH $PATH"
|
||||
exit 1
|
||||
fi
|
||||
source `which setup-telegram-build.sh`
|
||||
setup_telegram_build "$BUILD_CONFIGURATION" "$BASE_DIR/$BUILDBOX_DIR/transient-data"
|
||||
source `which setup-codesigning.sh`
|
||||
setup_codesigning "$BUILD_CONFIGURATION" "$BASE_DIR/$BUILDBOX_DIR/transient-data"
|
||||
if [ "$SETUP_TELEGRAM_BUILD_VERSION" != "$BUILD_TELEGRAM_VERSION" ]; then
|
||||
echo "setup-telegram-build.sh script version doesn't match"
|
||||
exit 1
|
||||
@ -95,10 +115,15 @@ fi
|
||||
|
||||
SOURCE_DIR=$(basename "$BASE_DIR")
|
||||
rm -f "$BUILDBOX_DIR/transient-data/source.tar"
|
||||
tar cf "$BUILDBOX_DIR/transient-data/source.tar" --exclude "$BUILDBOX_DIR" --exclude ".git" "."
|
||||
tar cf "$BUILDBOX_DIR/transient-data/source.tar" --exclude "$BUILDBOX_DIR" --exclude ".git" --exclude "buck-out" --exclude ".buckd" --exclude "build" "."
|
||||
|
||||
PROCESS_ID="$$"
|
||||
VM_NAME="$VM_BASE_NAME-$(openssl rand -hex 10)-build-telegram-$PROCESS_ID"
|
||||
|
||||
if [ -z "$RUNNING_VM" ]; then
|
||||
VM_NAME="$VM_BASE_NAME-$(openssl rand -hex 10)-build-telegram-$PROCESS_ID"
|
||||
else
|
||||
VM_NAME="$RUNNING_VM"
|
||||
fi
|
||||
|
||||
if [ "$BUILD_MACHINE" == "linux" ]; then
|
||||
virt-clone --original "$VM_BASE_NAME" --name "$VM_NAME" --auto-clone
|
||||
@ -107,28 +132,31 @@ if [ "$BUILD_MACHINE" == "linux" ]; then
|
||||
echo "Getting VM IP"
|
||||
|
||||
while [ 1 ]; do
|
||||
TEST_IP=$(virsh domifaddr "$VM_NAME" 2>/dev/null | egrep -o 'ipv4.*' | sed -e 's/ipv4\s*//g' | sed -e 's|/.*||g')
|
||||
if [ ! -z "$TEST_IP" ]; then
|
||||
RESPONSE=$(ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$TEST_IP" -o ServerAliveInterval=60 -t "echo -n 1")
|
||||
if [ "$RESPONSE" == "1" ]; then
|
||||
VM_IP="$TEST_IP"
|
||||
break
|
||||
TEST_IP=$(virsh domifaddr "$VM_NAME" 2>/dev/null | egrep -o 'ipv4.*' | sed -e 's/ipv4\s*//g' | sed -e 's|/.*||g')
|
||||
if [ ! -z "$TEST_IP" ]; then
|
||||
RESPONSE=$(ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$TEST_IP" -o ServerAliveInterval=60 -t "echo -n 1")
|
||||
if [ "$RESPONSE" == "1" ]; then
|
||||
VM_IP="$TEST_IP"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
sleep 1
|
||||
done
|
||||
elif [ "$BUILD_MACHINE" == "macOS" ]; then
|
||||
SNAPSHOT_ID=$(prlctl snapshot-list "$VM_BASE_NAME" | grep -Eo '\{(\d|[a-f]|-)*\}' | tr '\n' '\0')
|
||||
if [ -z "$SNAPSHOT_ID" ]; then
|
||||
echo "$VM_BASE_NAME is required to have one snapshot"
|
||||
exit 1
|
||||
if [ -z "$RUNNING_VM" ]; then
|
||||
SNAPSHOT_ID=$(prlctl snapshot-list "$VM_BASE_NAME" | grep -Eo '\{(\d|[a-f]|-)*\}' | tr '\n' '\0')
|
||||
if [ -z "$SNAPSHOT_ID" ]; then
|
||||
echo "$VM_BASE_NAME is required to have one snapshot"
|
||||
exit 1
|
||||
fi
|
||||
prlctl clone "$VM_BASE_NAME" --name "$VM_NAME"
|
||||
prlctl snapshot-switch "$VM_NAME" -i "$SNAPSHOT_ID"
|
||||
fi
|
||||
prlctl clone "$VM_BASE_NAME" --name "$VM_NAME"
|
||||
prlctl snapshot-switch "$VM_NAME" -i "$SNAPSHOT_ID"
|
||||
VM_IP=$(prlctl exec "$VM_NAME" "ifconfig | grep inet | grep broadcast | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -1 | tr '\n' '\0'")
|
||||
fi
|
||||
|
||||
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr "$BUILDBOX_DIR/$CODESIGNING_SUBPATH" telegram@"$VM_IP":codesigning_data
|
||||
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr "$BUILDBOX_DIR/$CODESIGNING_TEAMS_SUBPATH" telegram@"$VM_IP":codesigning_teams
|
||||
|
||||
if [ "$BUILD_CONFIGURATION" == "verify" ]; then
|
||||
ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$VM_IP" -o ServerAliveInterval=60 -t "mkdir -p telegram-ios-shared/fastlane; echo '' > telegram-ios-shared/fastlane/Fastfile"
|
||||
@ -137,7 +165,7 @@ else
|
||||
fi
|
||||
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr "$BUILDBOX_DIR/guest-build-telegram.sh" "$BUILDBOX_DIR/transient-data/source.tar" telegram@"$VM_IP":
|
||||
|
||||
ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$VM_IP" -o ServerAliveInterval=60 -t "export TELEGRAM_BUILD_APPSTORE_PASSWORD=\"$TELEGRAM_BUILD_APPSTORE_PASSWORD\"; export TELEGRAM_BUILD_APPSTORE_TEAM_NAME=\"$TELEGRAM_BUILD_APPSTORE_TEAM_NAME\"; export BUILD_NUMBER=\"$BUILD_NUMBER\"; export COMMIT_ID=\"$COMMIT_ID\"; export COMMIT_AUTHOR=\"$COMMIT_AUTHOR\"; bash -l guest-build-telegram.sh $BUILD_CONFIGURATION" || true
|
||||
ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$VM_IP" -o ServerAliveInterval=60 -t "export TELEGRAM_BUILD_APPSTORE_PASSWORD=\"$TELEGRAM_BUILD_APPSTORE_PASSWORD\"; export TELEGRAM_BUILD_APPSTORE_TEAM_NAME=\"$TELEGRAM_BUILD_APPSTORE_TEAM_NAME\"; export BUILD_NUMBER=\"$BUILD_NUMBER\"; export COMMIT_ID=\"$COMMIT_ID\"; export COMMIT_AUTHOR=\"$COMMIT_AUTHOR\"; export BUCK_HTTP_CACHE=\"$BUCK_HTTP_CACHE\"; bash -l guest-build-telegram.sh $BUILD_CONFIGURATION" || true
|
||||
|
||||
if [ "$BUILD_CONFIGURATION" == "appstore" ]; then
|
||||
ARCHIVE_PATH="$HOME/telegram-builds-archive"
|
||||
@ -158,10 +186,12 @@ elif [ "$BUILD_CONFIGURATION" == "verify" ]; then
|
||||
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr telegram@"$VM_IP":telegram-ios/Telegram-iOS-AppStoreLLC.ipa "./$VERIFY_IPA"
|
||||
fi
|
||||
|
||||
if [ "$BUILD_MACHINE" == "linux" ]; then
|
||||
virsh destroy "$VM_NAME"
|
||||
virsh undefine "$VM_NAME" --remove-all-storage --nvram
|
||||
elif [ "$BUILD_MACHINE" == "macOS" ]; then
|
||||
prlctl stop "$VM_NAME" --kill
|
||||
prlctl delete "$VM_NAME"
|
||||
fi
|
||||
if [ -z "$RUNNING_VM" ]; then
|
||||
if [ "$BUILD_MACHINE" == "linux" ]; then
|
||||
virsh destroy "$VM_NAME"
|
||||
virsh undefine "$VM_NAME" --remove-all-storage --nvram
|
||||
elif [ "$BUILD_MACHINE" == "macOS" ]; then
|
||||
prlctl stop "$VM_NAME" --kill
|
||||
prlctl delete "$VM_NAME"
|
||||
fi
|
||||
fi
|
@ -92,12 +92,21 @@ else
|
||||
fi
|
||||
|
||||
echo "Unpacking files..."
|
||||
mkdir "$SOURCE_PATH"
|
||||
|
||||
mkdir -p "$SOURCE_PATH/buildbox"
|
||||
mkdir -p "$SOURCE_PATH/buildbox/transient-data"
|
||||
cp -r "$HOME/codesigning_teams" "$SOURCE_PATH/buildbox/transient-data/teams"
|
||||
|
||||
BASE_DIR=$(pwd)
|
||||
cd "$SOURCE_PATH"
|
||||
tar -xf "../source.tar"
|
||||
|
||||
FASTLANE_PASSWORD="$FASTLANE_PASSWORD" FASTLANE_ITC_TEAM_NAME="$FASTLANE_ITC_TEAM_NAME" fastlane "$FASTLANE_BUILD_CONFIGURATION" build_number:"$BUILD_NUMBER" commit_hash:"$COMMIT_ID" commit_author:"$COMMIT_AUTHOR"
|
||||
BUCK="$(pwd)/tools/buck" BUCK_HTTP_CACHE="$BUCK_HTTP_CACHE" LOCAL_CODESIGNING=1 sh "../telegram-ios-shared/buildbox/bin/internal.sh" make app
|
||||
cp "build/Telegram_signed.ipa" "./Telegram-iOS-Hockeyapp-Internal.ipa"
|
||||
cp "build/DSYMs.zip" "./Telegram-iOS-Hockeyapp-Internal.app.dSYM.zip"
|
||||
FASTLANE_BUILD_CONFIGURATION="testinghockeyapp"
|
||||
|
||||
FASTLANE_PASSWORD="$FASTLANE_PASSWORD" FASTLANE_ITC_TEAM_NAME="$FASTLANE_ITC_TEAM_NAME" fastlane "$FASTLANE_BUILD_CONFIGURATION" build_number:"$BUILD_NUMBER" commit_hash:"$COMMIT_ID" commit_author:"$COMMIT_AUTHOR" skip_build:1
|
||||
|
||||
cd "$BASE_DIR"
|
||||
fi
|
||||
|
357
package_app
Executable file
357
package_app
Executable file
@ -0,0 +1,357 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
PLATFORM_FLAVORS="$1"
|
||||
BUCK="$2"
|
||||
shift
|
||||
shift
|
||||
|
||||
BUILD_PATH="build"
|
||||
APP_NAME="Telegram"
|
||||
|
||||
IPA_PATH="$BUILD_PATH/$APP_NAME.ipa"
|
||||
DSYMS_FOLDER_NAME="DSYMs"
|
||||
DSYMS_ZIP="$BUILD_PATH/$DSYMS_FOLDER_NAME.zip"
|
||||
DSYMS_DIR="$BUILD_PATH/$DSYMS_FOLDER_NAME"
|
||||
|
||||
TEMP_PATH="$BUILD_PATH/temp"
|
||||
TEMP_ENTITLEMENTS_PATH="$TEMP_PATH/entitlements"
|
||||
KEYCHAIN_PATH="$TEMP_PATH/keychain"
|
||||
|
||||
mkdir -p "$BUILD_PATH"
|
||||
rm -f "$IPA_PATH"
|
||||
rm -f "$DSYMS_ZIP"
|
||||
rm -rf "$DSYMS_DIR"
|
||||
mkdir -p "$DSYMS_DIR"
|
||||
rm -rf "$TEMP_PATH"
|
||||
|
||||
mkdir -p "$TEMP_PATH"
|
||||
mkdir -p "$TEMP_ENTITLEMENTS_PATH"
|
||||
|
||||
cp "buck-out/gen/AppPackage#$PLATFORM_FLAVORS.ipa" "$IPA_PATH.original"
|
||||
rm -rf "$IPA_PATH.original.unpacked"
|
||||
rm -f "$BUILD_PATH/${APP_NAME}_signed.ipa"
|
||||
mkdir -p "$IPA_PATH.original.unpacked"
|
||||
unzip "$IPA_PATH.original" -d "$IPA_PATH.original.unpacked/"
|
||||
rm "$IPA_PATH.original"
|
||||
|
||||
UNPACKED_PATH="$IPA_PATH.original.unpacked"
|
||||
APP_PATH="$UNPACKED_PATH/Payload/Telegram.app"
|
||||
FRAMEWORKS_DIR="$APP_PATH/Frameworks"
|
||||
|
||||
rm -rf "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*
|
||||
rm -rf "$IPA_PATH.original.unpacked/Symbols/"*
|
||||
rm -rf "$FRAMEWORKS_DIR/"*
|
||||
|
||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||
echo "Usage: sh package_app.sh path/to/buck platform-flavors"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$PACKAGE_METHOD" ]; then
|
||||
echo "PACKAGE_METHOD is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$PACKAGE_METHOD" != "appstore" ] && [ "$PACKAGE_METHOD" != "enterprise" ]; then
|
||||
echo "PACKAGE_METHOD $PACKAGE_METHOD should be in [appstore, enterprise]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$PACKAGE_CODE_SIGN_IDENTITY" ]; then
|
||||
echo "PACKAGE_CODE_SIGN_IDENTITY is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$DEVELOPMENT_TEAM" ]; then
|
||||
echo "DEVELOPMENT_TEAM is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$CODESIGNING_DATA_PATH" ]; then
|
||||
echo "CODESIGNING_DATA_PATH $CODESIGNING_DATA_PATH does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$CODESIGNING_CERTS_VARIANT" ]; then
|
||||
echo "CODESIGNING_CERTS_VARIANT is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$CODESIGNING_PROFILES_VARIANT" ]; then
|
||||
echo "CODESIGNING_PROFILES_VARIANT is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CERTS_PATH="$CODESIGNING_DATA_PATH/certs/$CODESIGNING_CERTS_VARIANT"
|
||||
PROFILES_PATH="$CODESIGNING_DATA_PATH/profiles/$CODESIGNING_PROFILES_VARIANT"
|
||||
|
||||
if [ ! -d "$CERTS_PATH" ]; then
|
||||
echo "$CERTS_PATH does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$PROFILES_PATH" ]; then
|
||||
echo "$PROFILES_PATH does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#security delete-keychain "$KEYCHAIN_PATH" || true
|
||||
rm -f "$KEYCHAIN_PATH"
|
||||
#security create-keychain -p "password" "$KEYCHAIN_PATH"
|
||||
#security unlock-keychain -p "password" "$KEYCHAIN_PATH"
|
||||
KEYCHAIN_FLAG="--keychain '$KEYCHAIN_PATH'"
|
||||
|
||||
APP_ITEMS_WITH_PROVISIONING_PROFILE="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents WATCH_APP WATCH_EXTENSION"
|
||||
APP_ITEMS_WITH_ENTITLEMENTS="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents"
|
||||
|
||||
COMMON_IDENTITY_HASH=""
|
||||
|
||||
REMOVE_ENTITLEMENT_KEYS=(\
|
||||
"com.apple.developer.icloud-container-development-container-identifiers" \
|
||||
"com.apple.developer.ubiquity-kvstore-identifier" \
|
||||
)
|
||||
|
||||
COPY_ENTITLEMENT_KEYS=(\
|
||||
"com.apple.developer.associated-domains" \
|
||||
"com.apple.developer.icloud-services" \
|
||||
)
|
||||
|
||||
for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do
|
||||
PROFILE_VAR=PACKAGE_PROVISIONING_PROFILE_$ITEM
|
||||
if [ -z "${!PROFILE_VAR}" ]; then
|
||||
echo "$PROFILE_VAR is not set"
|
||||
exit 1
|
||||
fi
|
||||
for PROFILE in "$PROFILES_PATH/"*; do
|
||||
PROFILE_DATA=$(security cms -D -i "$PROFILE")
|
||||
PROFILE_NAME=$(/usr/libexec/PlistBuddy -c "Print :Name" /dev/stdin <<< $(echo $PROFILE_DATA))
|
||||
if [ "$PROFILE_NAME" == "${!PROFILE_VAR}" ]; then
|
||||
TEAM_IDENTIFIER=$(/usr/libexec/PlistBuddy -c "Print :Entitlements:com.apple.developer.team-identifier" /dev/stdin <<< $(echo $PROFILE_DATA))
|
||||
if [ "$TEAM_IDENTIFIER" != "$DEVELOPMENT_TEAM" ]; then
|
||||
"Entitlements:com.apple.developer.team-identifier in $PROFILE does not match $DEVELOPMENT_TEAM"
|
||||
fi
|
||||
|
||||
IDENTITY_NAME=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -subject -nameopt multiline -sha1 -noout | grep commonName | sed -e 's#[ ]*commonName[ ]*=[ ]*##g')
|
||||
if [ ! -z "$IDENTITY_NAME" ]; then
|
||||
IDENTITY_HASH=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -fingerprint -sha1 -noout | sed -e 's#SHA1 Fingerprint=##' | sed -e 's#:##g')
|
||||
if [ -z "$COMMON_IDENTITY_HASH" ]; then
|
||||
COMMON_IDENTITY_HASH="$IDENTITY_HASH"
|
||||
elif [ "$COMMON_IDENTITY_HASH" != "$IDENTITY_HASH" ]; then
|
||||
"Signing identity in $PROFILE ($IDENTITY_HASH) does not match $COMMON_IDENTITY_HASH from previously processed profiles"
|
||||
fi
|
||||
else
|
||||
echo "Signing identity name in $PROFILE does not match $PACKAGE_CODE_SIGN_IDENTITY"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
declare PROFILE_PATH_$ITEM="$PROFILE"
|
||||
|
||||
PROFILE_ENTITLEMENTS_PATH="$TEMP_ENTITLEMENTS_PATH/$ITEM.entitlements"
|
||||
security cms -D -i "$PROFILE" > "$TEMP_PATH/temp.plist" && /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' "$TEMP_PATH/temp.plist" > "$PROFILE_ENTITLEMENTS_PATH"
|
||||
|
||||
for KEY in "${REMOVE_ENTITLEMENT_KEYS[@]}"; do
|
||||
/usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null
|
||||
done
|
||||
|
||||
ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM
|
||||
if [ ! -z "${!ENTITLEMENTS_VAR}" ]; then
|
||||
if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then
|
||||
echo "${!ENTITLEMENTS_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for KEY in "${COPY_ENTITLEMENT_KEYS[@]}"; do
|
||||
VALUE=$(PlistBuddy -c "Print :$KEY" "${!ENTITLEMENTS_VAR}")
|
||||
echo "$VALUE"
|
||||
exit 0
|
||||
done
|
||||
fi
|
||||
declare ENTITLEMENTS_PATH_$ITEM="$PROFILE_ENTITLEMENTS_PATH"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do
|
||||
PROFILE_PATH_VAR=PROFILE_PATH_$ITEM
|
||||
if [ -z "${!PROFILE_PATH_VAR}" ]; then
|
||||
echo "Provisioning profile for $ITEM was not found"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
for ITEM in $APP_ITEMS_WITH_ENTITLEMENTS; do
|
||||
ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM
|
||||
if [ -z "${!ENTITLEMENTS_VAR}" ]; then
|
||||
echo "$ENTITLEMENTS_VAR is not set"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then
|
||||
echo "${!ENTITLEMENTS_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$COMMON_IDENTITY_HASH" ]; then
|
||||
echo "Failed to determine signing identity"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for DEPENDENCY in $(${BUCK} query "kind('apple_library', deps('//:Telegram#$PLATFORM_FLAVORS', 1))" "$@"); do
|
||||
DEPENDENCY_PATH=$(echo "$DEPENDENCY" | sed -e "s#^//##" | sed -e "s#:#/#")
|
||||
DEPENDENCY_NAME=$(echo "$DEPENDENCY" | sed -e "s/#.*//" | sed -e "s/^.*\://")
|
||||
DYLIB_PATH="buck-out/gen/$DEPENDENCY_PATH/lib$DEPENDENCY_NAME.dylib"
|
||||
TARGET_DYLIB_PATH="$FRAMEWORKS_DIR/lib$DEPENDENCY_NAME.dylib"
|
||||
cp "$DYLIB_PATH" "$TARGET_DYLIB_PATH"
|
||||
DSYM_PATH="buck-out/gen/$(echo "$DEPENDENCY" | sed -e "s/#/#apple-dsym,/" | sed -e "s#^//##" | sed -e "s#:#/#").dSYM"
|
||||
cp -r "$DSYM_PATH" "$DSYMS_DIR/"
|
||||
done
|
||||
|
||||
APP_BINARY_DSYM_PATH="buck-out/gen/Telegram#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/Telegram.app.dSYM"
|
||||
cp -r "$APP_BINARY_DSYM_PATH" "$DSYMS_DIR/"
|
||||
|
||||
EXTENSIONS="Share Widget Intents NotificationContent NotificationService"
|
||||
for EXTENSION in $EXTENSIONS; do
|
||||
EXTENSION_DSYM_PATH="buck-out/gen/${EXTENSION}Extension#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/${EXTENSION}Extension.appex.dSYM"
|
||||
cp -r "$EXTENSION_DSYM_PATH" "$DSYMS_DIR/"
|
||||
done
|
||||
|
||||
WATCH_EXTENSION_DSYM_PATH="buck-out/gen/WatchAppExtension#dwarf-and-dsym,no-include-frameworks,watchos-arm64_32,watchos-armv7k/WatchAppExtension.appex.dSYM"
|
||||
cp -r "$WATCH_EXTENSION_DSYM_PATH" "$DSYMS_DIR/"
|
||||
|
||||
for LIB in $(ls "$FRAMEWORKS_DIR"/*.dylib); do
|
||||
strip -S -T "$LIB"
|
||||
done
|
||||
|
||||
xcrun swift-stdlib-tool --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app" --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app/Frameworks" --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app/PlugIns" --strip-bitcode --platform iphoneos --copy --destination "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos"
|
||||
|
||||
cp "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*.dylib "$FRAMEWORKS_DIR/"
|
||||
|
||||
REMOVE_ARCHS="armv7s arm64e"
|
||||
|
||||
for framework in "$FRAMEWORKS_DIR"/*; do
|
||||
if [[ "$framework" == *.framework || "$framework" == *.dylib ]]; then
|
||||
codesign --remove-signature "$framework"
|
||||
for ARCH in $REMOVE_ARCHS; do
|
||||
lipo -remove "$ARCH" "$framework" -o "$framework" || true
|
||||
done
|
||||
xcrun bitcode_strip -r "$framework" -o "$framework"
|
||||
strip -S -T "$framework"
|
||||
/usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework"
|
||||
fi
|
||||
done
|
||||
|
||||
PLUGINS="Share Widget Intents NotificationService NotificationContent"
|
||||
for PLUGIN in $PLUGINS; do
|
||||
PLUGIN_PATH="$APP_PATH/PlugIns/${PLUGIN}Extension.appex"
|
||||
if [ ! -d "$PLUGIN_PATH" ]; then
|
||||
echo "Directory at $PLUGIN_PATH does not exist"
|
||||
exit 1
|
||||
fi
|
||||
PROFILE_PATH_VAR="PROFILE_PATH_EXTENSION_$PLUGIN"
|
||||
if [ -z "${!PROFILE_PATH_VAR}" ]; then
|
||||
echo "$PROFILE_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!PROFILE_PATH_VAR}" ]; then
|
||||
echo "${!PROFILE_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_EXTENSION_$PLUGIN"
|
||||
if [ -z "${!ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "$ENTITLEMENTS_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "${!ENTITLEMENTS_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
cp "${!PROFILE_PATH_VAR}" "$PLUGIN_PATH/embedded.mobileprovision"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!ENTITLEMENTS_PATH_VAR}" "$PLUGIN_PATH"
|
||||
done
|
||||
|
||||
WATCH_APP_PATH="$APP_PATH/Watch/WatchApp.app"
|
||||
WATCH_EXTENSION_PATH="$WATCH_APP_PATH/PlugIns/WatchAppExtension.appex"
|
||||
|
||||
WATCH_EXTENSION_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_EXTENSION"
|
||||
if [ -z "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then
|
||||
echo "$WATCH_EXTENSION_PROFILE_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then
|
||||
echo "${!WATCH_EXTENSION_PROFILE_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_EXTENSION"
|
||||
if [ -z "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "$WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" "$WATCH_EXTENSION_PATH/embedded.mobileprovision"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" "$WATCH_EXTENSION_PATH"
|
||||
|
||||
WATCH_APP_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_APP"
|
||||
if [ -z "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then
|
||||
echo "$WATCH_APP_PROFILE_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then
|
||||
echo "${!WATCH_APP_PROFILE_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
WATCH_APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_APP"
|
||||
if [ -z "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "$WATCH_APP_ENTITLEMENTS_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "${!WATCH_APP_ENTITLEMENTS_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "${!WATCH_APP_PROFILE_PATH_VAR}" "$WATCH_APP_PATH/embedded.mobileprovision"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" "$WATCH_APP_PATH"
|
||||
|
||||
APP_PROFILE_PATH_VAR="PROFILE_PATH_APP"
|
||||
if [ -z "${!APP_PROFILE_PATH_VAR}" ]; then
|
||||
echo "$APP_PROFILE_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!APP_PROFILE_PATH_VAR}" ]; then
|
||||
echo "${!APP_PROFILE_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_APP"
|
||||
if [ -z "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "$APP_ENTITLEMENTS_PATH_VAR is not defined"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
echo "${!APP_ENTITLEMENTS_PATH_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "${!APP_PROFILE_PATH_VAR}" "$APP_PATH/embedded.mobileprovision"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!APP_ENTITLEMENTS_PATH_VAR}" "$APP_PATH"
|
||||
|
||||
DIR=$(pwd)
|
||||
|
||||
cd "$UNPACKED_PATH"
|
||||
if [ "$PACKAGE_METHOD" == "appstore" ]; then
|
||||
zip -r "../${APP_NAME}_signed.ipa" Payload SwiftSupport WatchKitSupport2
|
||||
elif [ "$PACKAGE_METHOD" == "enterprise" ]; then
|
||||
zip -r "../${APP_NAME}_signed.ipa" Payload
|
||||
fi
|
||||
cd "$DIR"
|
||||
|
||||
cd "$BUILD_PATH"
|
||||
zip -r "$DSYMS_FOLDER_NAME.zip" "$DSYMS_FOLDER_NAME"
|
||||
|
||||
cd "$DIR"
|
190
package_app.sh
190
package_app.sh
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
#set -x
|
||||
set -e
|
||||
|
||||
PLATFORM_FLAVORS="$1"
|
||||
@ -20,6 +20,17 @@ TEMP_PATH="$BUILD_PATH/temp"
|
||||
TEMP_ENTITLEMENTS_PATH="$TEMP_PATH/entitlements"
|
||||
KEYCHAIN_PATH="$TEMP_PATH/keychain"
|
||||
|
||||
if [ -z "$PACKAGE_BUNDLE_ID" ]; then
|
||||
echo "PACKAGE_BUNDLE_ID not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BUNDLE_ID_PREFIX=$(echo "$PACKAGE_BUNDLE_ID" | grep -Eo "^.*?\\..*?\\." | head -1)
|
||||
if [ -z "$BUNDLE_ID_PREFIX" ]; then
|
||||
echo "Could not extract bundle id prefix from $PACKAGE_BUNDLE_ID"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$BUILD_PATH"
|
||||
rm -f "$IPA_PATH"
|
||||
rm -f "$DSYMS_ZIP"
|
||||
@ -34,7 +45,9 @@ cp "buck-out/gen/AppPackage#$PLATFORM_FLAVORS.ipa" "$IPA_PATH.original"
|
||||
rm -rf "$IPA_PATH.original.unpacked"
|
||||
rm -f "$BUILD_PATH/${APP_NAME}_signed.ipa"
|
||||
mkdir -p "$IPA_PATH.original.unpacked"
|
||||
unzip "$IPA_PATH.original" -d "$IPA_PATH.original.unpacked/"
|
||||
|
||||
echo "Unzipping original ipa..."
|
||||
unzip "$IPA_PATH.original" -d "$IPA_PATH.original.unpacked/" 1>/dev/null
|
||||
rm "$IPA_PATH.original"
|
||||
|
||||
UNPACKED_PATH="$IPA_PATH.original.unpacked"
|
||||
@ -50,6 +63,16 @@ if [ -z "$1" ] || [ -z "$2" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$PACKAGE_METHOD" ]; then
|
||||
echo "PACKAGE_METHOD is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$PACKAGE_METHOD" != "appstore" ] && [ "$PACKAGE_METHOD" != "enterprise" ]; then
|
||||
echo "PACKAGE_METHOD $PACKAGE_METHOD should be in [appstore, enterprise]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$PACKAGE_CODE_SIGN_IDENTITY" ]; then
|
||||
echo "PACKAGE_CODE_SIGN_IDENTITY is not set"
|
||||
exit 1
|
||||
@ -67,10 +90,12 @@ fi
|
||||
|
||||
if [ -z "$CODESIGNING_CERTS_VARIANT" ]; then
|
||||
echo "CODESIGNING_CERTS_VARIANT is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$CODESIGNING_PROFILES_VARIANT" ]; then
|
||||
echo "CODESIGNING_PROFILES_VARIANT is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CERTS_PATH="$CODESIGNING_DATA_PATH/certs/$CODESIGNING_CERTS_VARIANT"
|
||||
@ -90,13 +115,28 @@ fi
|
||||
rm -f "$KEYCHAIN_PATH"
|
||||
#security create-keychain -p "password" "$KEYCHAIN_PATH"
|
||||
#security unlock-keychain -p "password" "$KEYCHAIN_PATH"
|
||||
KEYCHAIN_FLAG="--keychain '$KEYCHAIN_PATH'"
|
||||
#KEYCHAIN_FLAG="--keychain '$KEYCHAIN_PATH'"
|
||||
|
||||
APP_ITEMS_WITH_PROVISIONING_PROFILE="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents WATCH_APP WATCH_EXTENSION"
|
||||
APP_ITEMS_WITH_ENTITLEMENTS="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents"
|
||||
|
||||
COMMON_IDENTITY_HASH=""
|
||||
|
||||
REMOVE_ENTITLEMENT_KEYS=(\
|
||||
"com.apple.developer.icloud-container-development-container-identifiers" \
|
||||
"com.apple.developer.ubiquity-kvstore-identifier" \
|
||||
)
|
||||
|
||||
COPY_ENTITLEMENT_KEYS=(\
|
||||
"com.apple.developer.associated-domains" \
|
||||
"com.apple.developer.icloud-services" \
|
||||
)
|
||||
|
||||
REPLACE_TO_PRODUCTION_ENTITLEMENT_KEYS=(\
|
||||
"com.apple.developer.icloud-container-environment" \
|
||||
)
|
||||
|
||||
echo "Generating entitlements..."
|
||||
for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do
|
||||
PROFILE_VAR=PACKAGE_PROVISIONING_PROFILE_$ITEM
|
||||
if [ -z "${!PROFILE_VAR}" ]; then
|
||||
@ -129,6 +169,38 @@ for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do
|
||||
|
||||
PROFILE_ENTITLEMENTS_PATH="$TEMP_ENTITLEMENTS_PATH/$ITEM.entitlements"
|
||||
security cms -D -i "$PROFILE" > "$TEMP_PATH/temp.plist" && /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' "$TEMP_PATH/temp.plist" > "$PROFILE_ENTITLEMENTS_PATH"
|
||||
|
||||
for KEY in "${REMOVE_ENTITLEMENT_KEYS[@]}"; do
|
||||
/usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || true
|
||||
done
|
||||
|
||||
for KEY in "${REPLACE_TO_PRODUCTION_ENTITLEMENT_KEYS[@]}"; do
|
||||
VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || echo "")
|
||||
if [ ! -z "$VALUE" ]; then
|
||||
PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
|
||||
/usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null
|
||||
VALUE="<array><string>Production</string></array>"
|
||||
plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PROFILE_ENTITLEMENTS_PATH"
|
||||
fi
|
||||
done
|
||||
|
||||
ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM
|
||||
if [ ! -z "${!ENTITLEMENTS_VAR}" ]; then
|
||||
if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then
|
||||
echo "${!ENTITLEMENTS_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for KEY in "${COPY_ENTITLEMENT_KEYS[@]}"; do
|
||||
VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || echo "")
|
||||
if [ ! -z "$VALUE" ]; then
|
||||
PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
|
||||
VALUE=$(plutil -extract "$PLUTIL_KEY" xml1 -o - "${!ENTITLEMENTS_VAR}")
|
||||
/usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null
|
||||
plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PROFILE_ENTITLEMENTS_PATH"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
declare ENTITLEMENTS_PATH_$ITEM="$PROFILE_ENTITLEMENTS_PATH"
|
||||
fi
|
||||
done
|
||||
@ -152,8 +224,6 @@ for ITEM in $APP_ITEMS_WITH_ENTITLEMENTS; do
|
||||
echo "${!ENTITLEMENTS_VAR} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#declare ENTITLEMENTS_PATH_$ITEM="${!ENTITLEMENTS_VAR}"
|
||||
done
|
||||
|
||||
if [ -z "$COMMON_IDENTITY_HASH" ]; then
|
||||
@ -161,11 +231,47 @@ if [ -z "$COMMON_IDENTITY_HASH" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
COPY_PLIST_KEYS=(\
|
||||
"DTSDKName" \
|
||||
"DTXcode" \
|
||||
"DTSDKBuild" \
|
||||
"CFBundleDevelopmentRegion" \
|
||||
"BuildMachineOSBuild" \
|
||||
"DTPlatformName" \
|
||||
"CFBundleSupportedPlatforms" \
|
||||
"CFBundleInfoDictionaryVersion" \
|
||||
"DTCompiler" \
|
||||
"MinimumOSVersion" \
|
||||
"UIDeviceFamily" \
|
||||
"DTPlatformVersion" \
|
||||
"DTXcodeBuild" \
|
||||
"DTPlatformBuild" \
|
||||
)
|
||||
APP_PLIST="$APP_PATH/Info.plist"
|
||||
|
||||
echo "Repacking frameworks..."
|
||||
for DEPENDENCY in $(${BUCK} query "kind('apple_library', deps('//:Telegram#$PLATFORM_FLAVORS', 1))" "$@"); do
|
||||
DEPENDENCY_PATH=$(echo "$DEPENDENCY" | sed -e "s#^//##" | sed -e "s#:#/#")
|
||||
DEPENDENCY_NAME=$(echo "$DEPENDENCY" | sed -e "s/#.*//" | sed -e "s/^.*\://")
|
||||
DYLIB_PATH="buck-out/gen/$DEPENDENCY_PATH/lib$DEPENDENCY_NAME.dylib"
|
||||
TARGET_DYLIB_PATH="$FRAMEWORKS_DIR/lib$DEPENDENCY_NAME.dylib"
|
||||
mkdir -p "$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework"
|
||||
TARGET_DYLIB_PATH="$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework/$DEPENDENCY_NAME"
|
||||
PLIST_FILE="$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework/Info.plist"
|
||||
/usr/libexec/PlistBuddy -c "Add :CFBundleName string \"${DEPENDENCY_NAME}\"" "$PLIST_FILE" 1>/dev/null
|
||||
/usr/libexec/PlistBuddy -c "Add :CFBundleVersion string \"1\"" "$PLIST_FILE"
|
||||
/usr/libexec/PlistBuddy -c "Add :CFBundleShortVersionString string \"1.0\"" "$PLIST_FILE"
|
||||
/usr/libexec/PlistBuddy -c "Add :CFBundlePackageType string \"FMWK\"" "$PLIST_FILE"
|
||||
/usr/libexec/PlistBuddy -c "Add :CFBundleExecutable string \"${DEPENDENCY_NAME}\"" "$PLIST_FILE"
|
||||
/usr/libexec/PlistBuddy -c "Add :CFBundleIdentifier string \"${BUNDLE_ID_PREFIX}.${DEPENDENCY_NAME}\"" "$PLIST_FILE"
|
||||
for KEY in "${COPY_PLIST_KEYS[@]}"; do
|
||||
VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$APP_PLIST" 2>/dev/null || echo "")
|
||||
if [ ! -z "$VALUE" ]; then
|
||||
PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
|
||||
VALUE=$(plutil -extract "$PLUTIL_KEY" xml1 -o - "$APP_PLIST")
|
||||
plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PLIST_FILE"
|
||||
fi
|
||||
done
|
||||
plutil -convert binary1 "$PLIST_FILE"
|
||||
cp "$DYLIB_PATH" "$TARGET_DYLIB_PATH"
|
||||
DSYM_PATH="buck-out/gen/$(echo "$DEPENDENCY" | sed -e "s/#/#apple-dsym,/" | sed -e "s#^//##" | sed -e "s#:#/#").dSYM"
|
||||
cp -r "$DSYM_PATH" "$DSYMS_DIR/"
|
||||
@ -183,27 +289,59 @@ done
|
||||
WATCH_EXTENSION_DSYM_PATH="buck-out/gen/WatchAppExtension#dwarf-and-dsym,no-include-frameworks,watchos-arm64_32,watchos-armv7k/WatchAppExtension.appex.dSYM"
|
||||
cp -r "$WATCH_EXTENSION_DSYM_PATH" "$DSYMS_DIR/"
|
||||
|
||||
for LIB in $(ls "$FRAMEWORKS_DIR"/*.dylib); do
|
||||
strip -S -T "$LIB"
|
||||
done
|
||||
|
||||
xcrun swift-stdlib-tool --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app" --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app/Frameworks" --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app/PlugIns" --strip-bitcode --platform iphoneos --copy --destination "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos"
|
||||
|
||||
for LIB in $(ls "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*.dylib); do
|
||||
codesign --remove-signature "$LIB"
|
||||
lipo -remove armv7s -remove arm64e "$LIB" -o "$LIB"
|
||||
xcrun bitcode_strip -r "$LIB" -o "$LIB"
|
||||
strip -S -T "$LIB"
|
||||
TEMP_DYLIB_DIR="$TEMP_PATH/SwiftSupport"
|
||||
rm -rf "$TEMP_DYLIB_DIR"
|
||||
mkdir -p "$TEMP_DYLIB_DIR"
|
||||
mkdir -p "$TEMP_DYLIB_DIR/out"
|
||||
|
||||
echo "Copying swift support files..."
|
||||
xcrun swift-stdlib-tool \
|
||||
--copy \
|
||||
--strip-bitcode \
|
||||
--platform iphoneos \
|
||||
--toolchain "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain" \
|
||||
--source-libraries "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos" \
|
||||
--scan-executable "$APP_PATH/Telegram" \
|
||||
--scan-folder "$APP_PATH/Frameworks" \
|
||||
--scan-folder "$APP_PATH/PlugIns" \
|
||||
--destination "$TEMP_DYLIB_DIR"
|
||||
|
||||
for dylib in "$TEMP_DYLIB_DIR"/*.dylib; do
|
||||
FILE_NAME=$(basename "$dylib")
|
||||
lipo -extract armv7 "$dylib" -output "$dylib.armv7"
|
||||
lipo -extract arm64 "$dylib" -output "$dylib.arm64"
|
||||
lipo "$dylib.armv7" "$dylib.arm64" -create -output "$dylib.unstripped"
|
||||
if [ "$PACKAGE_METHOD" == "enterprise" ]; then
|
||||
xcrun strip -ST -o "$TEMP_DYLIB_DIR/out/$FILE_NAME" - "$dylib.unstripped" 2>/dev/null
|
||||
xcrun bitcode_strip -r "$TEMP_DYLIB_DIR/out/$FILE_NAME" -o "$TEMP_DYLIB_DIR/out/$FILE_NAME" 1>/dev/null
|
||||
else
|
||||
cp "$dylib.unstripped" "$TEMP_DYLIB_DIR/out/$FILE_NAME"
|
||||
fi
|
||||
done
|
||||
|
||||
cp "$TEMP_DYLIB_DIR/out/"*.dylib "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"
|
||||
cp "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*.dylib "$FRAMEWORKS_DIR/"
|
||||
|
||||
REMOVE_ARCHS="armv7s arm64e"
|
||||
|
||||
for framework in "$FRAMEWORKS_DIR"/*; do
|
||||
if [[ "$framework" == *.framework || "$framework" == *.dylib ]]; then
|
||||
/usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework"
|
||||
if [[ "$framework" == *.framework ]]; then
|
||||
FRAMEWORK_NAME=$(basename "$framework" | sed -e 's/\.framework//')
|
||||
for ARCH in $REMOVE_ARCHS; do
|
||||
lipo -remove "$ARCH" "$framework/$FRAMEWORK_NAME" -o "$framework/$FRAMEWORK_NAME" 2>/dev/null || true
|
||||
done
|
||||
xcrun bitcode_strip -r "$framework/$FRAMEWORK_NAME" -o "$framework/$FRAMEWORK_NAME" 1>/dev/null
|
||||
xcrun strip -S -T -x "$framework/$FRAMEWORK_NAME" 1>/dev/null
|
||||
/usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework" 1>/dev/null
|
||||
else
|
||||
/usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework" 1>/dev/null
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Signing..."
|
||||
|
||||
PLUGINS="Share Widget Intents NotificationService NotificationContent"
|
||||
for PLUGIN in $PLUGINS; do
|
||||
PLUGIN_PATH="$APP_PATH/PlugIns/${PLUGIN}Extension.appex"
|
||||
@ -230,7 +368,7 @@ for PLUGIN in $PLUGINS; do
|
||||
exit 1
|
||||
fi
|
||||
cp "${!PROFILE_PATH_VAR}" "$PLUGIN_PATH/embedded.mobileprovision"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!ENTITLEMENTS_PATH_VAR}" "$PLUGIN_PATH"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!ENTITLEMENTS_PATH_VAR}" "$PLUGIN_PATH"
|
||||
done
|
||||
|
||||
WATCH_APP_PATH="$APP_PATH/Watch/WatchApp.app"
|
||||
@ -256,7 +394,7 @@ if [ ! -f "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
fi
|
||||
|
||||
cp "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" "$WATCH_EXTENSION_PATH/embedded.mobileprovision"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" "$WATCH_EXTENSION_PATH"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" "$WATCH_EXTENSION_PATH" 2>/dev/null
|
||||
|
||||
WATCH_APP_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_APP"
|
||||
if [ -z "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then
|
||||
@ -278,7 +416,7 @@ if [ ! -f "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then
|
||||
fi
|
||||
|
||||
cp "${!WATCH_APP_PROFILE_PATH_VAR}" "$WATCH_APP_PATH/embedded.mobileprovision"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" "$WATCH_APP_PATH"
|
||||
/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" "$WATCH_APP_PATH" 2>/dev/null
|
||||
|
||||
APP_PROFILE_PATH_VAR="PROFILE_PATH_APP"
|
||||
if [ -z "${!APP_PROFILE_PATH_VAR}" ]; then
|
||||
@ -305,10 +443,16 @@ cp "${!APP_PROFILE_PATH_VAR}" "$APP_PATH/embedded.mobileprovision"
|
||||
DIR=$(pwd)
|
||||
|
||||
cd "$UNPACKED_PATH"
|
||||
zip -r "../${APP_NAME}_signed.ipa" Payload #SwiftSupport WatchKitSupport2
|
||||
if [ "$PACKAGE_METHOD" == "appstore" ]; then
|
||||
zip -r "../${APP_NAME}_signed.ipa" Payload SwiftSupport WatchKitSupport2 1>/dev/null
|
||||
elif [ "$PACKAGE_METHOD" == "enterprise" ]; then
|
||||
zip -r "../${APP_NAME}_signed.ipa" Payload 1>/dev/null
|
||||
fi
|
||||
cd "$DIR"
|
||||
|
||||
cd "$BUILD_PATH"
|
||||
zip -r "$DSYMS_FOLDER_NAME.zip" "$DSYMS_FOLDER_NAME"
|
||||
zip -r "$DSYMS_FOLDER_NAME.zip" "$DSYMS_FOLDER_NAME" 1>/dev/null
|
||||
|
||||
cd "$DIR"
|
||||
|
||||
echo "Done"
|
@ -16,7 +16,7 @@ static_library(
|
||||
"//submodules/MediaResources:MediaResources",
|
||||
"//submodules/Tuples:Tuples",
|
||||
"//submodules/GZip:GZip",
|
||||
"//submodules/RLottie:RLottie",
|
||||
"//submodules/rlottie:RLottieBinding",
|
||||
"//submodules/lottie-ios:Lottie",
|
||||
"//submodules/AppBundle:AppBundle",
|
||||
],
|
||||
|
@ -4,6 +4,8 @@ NSBundle * _Nonnull getAppBundle() {
|
||||
NSBundle *bundle = [NSBundle mainBundle];
|
||||
if ([[bundle.bundleURL pathExtension] isEqualToString:@"appex"]) {
|
||||
bundle = [NSBundle bundleWithURL:[[bundle.bundleURL URLByDeletingLastPathComponent] URLByDeletingLastPathComponent]];
|
||||
} else if ([[bundle.bundleURL pathExtension] isEqualToString:@"framework"]) {
|
||||
bundle = [NSBundle bundleWithURL:[[bundle.bundleURL URLByDeletingLastPathComponent] URLByDeletingLastPathComponent]];
|
||||
} else if ([[bundle.bundleURL pathExtension] isEqualToString:@"Frameworks"]) {
|
||||
bundle = [NSBundle bundleWithURL:[bundle.bundleURL URLByDeletingLastPathComponent]];
|
||||
}
|
||||
|
@ -1,327 +0,0 @@
|
||||
<?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>1DD70E29CCF717CF00000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXFileReference</string>
|
||||
<key>name</key>
|
||||
<string>Emoji-Debug.xcconfig</string>
|
||||
<key>path</key>
|
||||
<string>../../buck-out/gen/submodules/Emoji/Emoji-Debug.xcconfig</string>
|
||||
<key>sourceTree</key>
|
||||
<string>SOURCE_ROOT</string>
|
||||
<key>explicitFileType</key>
|
||||
<string>text.xcconfig</string>
|
||||
</dict>
|
||||
<key>1DD70E2950B2F77900000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXFileReference</string>
|
||||
<key>name</key>
|
||||
<string>Emoji-Profile.xcconfig</string>
|
||||
<key>path</key>
|
||||
<string>../../buck-out/gen/submodules/Emoji/Emoji-Profile.xcconfig</string>
|
||||
<key>sourceTree</key>
|
||||
<string>SOURCE_ROOT</string>
|
||||
<key>explicitFileType</key>
|
||||
<string>text.xcconfig</string>
|
||||
</dict>
|
||||
<key>1DD70E29C449A2DB00000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXFileReference</string>
|
||||
<key>name</key>
|
||||
<string>Emoji-Release.xcconfig</string>
|
||||
<key>path</key>
|
||||
<string>../../buck-out/gen/submodules/Emoji/Emoji-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>1DD70E29CCF717CF00000000</string>
|
||||
<string>1DD70E2950B2F77900000000</string>
|
||||
<string>1DD70E29C449A2DB00000000</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>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>1DD70E29C4C3D69000000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXFileReference</string>
|
||||
<key>name</key>
|
||||
<string>EmojiUtils.swift</string>
|
||||
<key>path</key>
|
||||
<string>Sources/EmojiUtils.swift</string>
|
||||
<key>sourceTree</key>
|
||||
<string>SOURCE_ROOT</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>1DD70E29C4C3D69000000000</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>B401C97903FF902600000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXGroup</string>
|
||||
<key>name</key>
|
||||
<string>Emoji</string>
|
||||
<key>sourceTree</key>
|
||||
<string><![CDATA[<group>]]></string>
|
||||
<key>children</key>
|
||||
<array>
|
||||
<string>1DD70E29001F47FB00000000</string>
|
||||
<string>B401C979EAB5339800000000</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>1DD70E29A59C927400000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXFileReference</string>
|
||||
<key>name</key>
|
||||
<string>libEmoji.a</string>
|
||||
<key>path</key>
|
||||
<string>libEmoji.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>1DD70E29A59C927400000000</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>B401C979B781F65D00000000</string>
|
||||
<string>B401C97903FF902600000000</string>
|
||||
<string>B401C979C806358400000000</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>E7A30F04C4C3D69000000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXBuildFile</string>
|
||||
<key>fileRef</key>
|
||||
<string>1DD70E29C4C3D69000000000</string>
|
||||
</dict>
|
||||
<key>1870857F0000000000000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXSourcesBuildPhase</string>
|
||||
<key>files</key>
|
||||
<array>
|
||||
<string>E7A30F04C4C3D69000000000</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>1DD70E29CCF717CF00000000</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>1DD70E2950B2F77900000000</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>1DD70E29C449A2DB00000000</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>E66DC04E03FF902600000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXNativeTarget</string>
|
||||
<key>name</key>
|
||||
<string>Emoji</string>
|
||||
<key>productName</key>
|
||||
<string>Emoji</string>
|
||||
<key>productReference</key>
|
||||
<string>1DD70E29A59C927400000000</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>4952437303EDA63300000001</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>XCBuildConfiguration</string>
|
||||
<key>name</key>
|
||||
<string>Debug</string>
|
||||
<key>buildSettings</key>
|
||||
<dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>4952437350C7218900000001</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>XCBuildConfiguration</string>
|
||||
<key>name</key>
|
||||
<string>Profile</string>
|
||||
<key>buildSettings</key>
|
||||
<dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>49524373A439BFE700000001</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>XCBuildConfiguration</string>
|
||||
<key>name</key>
|
||||
<string>Release</string>
|
||||
<key>buildSettings</key>
|
||||
<dict>
|
||||
</dict>
|
||||
</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>96C8479303FF902600000000</key>
|
||||
<dict>
|
||||
<key>isa</key>
|
||||
<string>PBXProject</string>
|
||||
<key>mainGroup</key>
|
||||
<string>B401C979EFB6AC4600000000</string>
|
||||
<key>targets</key>
|
||||
<array>
|
||||
<string>E66DC04E03FF902600000000</string>
|
||||
</array>
|
||||
<key>buildConfigurationList</key>
|
||||
<string>218C37090000000000000001</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>96C8479303FF902600000000</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1 +0,0 @@
|
||||
<?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="E66DC04E03FF902600000000" BlueprintName="Emoji" BuildableIdentifier="primary" BuildableName="libEmoji.a" ReferencedContainer="container:Emoji.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>
|
@ -21,4 +21,4 @@ framework(
|
||||
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/Security.framework",
|
||||
],
|
||||
)
|
||||
)
|
@ -48,7 +48,7 @@ framework(
|
||||
"//submodules/LightweightAccountData:LightweightAccountData",
|
||||
"//submodules/HockeySDK-iOS:HockeySDK",
|
||||
"//submodules/BuildConfig:BuildConfig",
|
||||
"//submodules/RLottie:RLottie",
|
||||
"//submodules/rlottie:RLottieBinding",
|
||||
"//submodules/TelegramUpdateUI:TelegramUpdateUI",
|
||||
"//submodules/MergeLists:MergeLists",
|
||||
"//submodules/ActivityIndicator:ActivityIndicator",
|
||||
|
@ -1117,7 +1117,6 @@
|
||||
D0F53BF61E79593500117362 /* AuthorizationSequenceSignUpController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthorizationSequenceSignUpController.swift; sourceTree = "<group>"; };
|
||||
D0F53BF81E79593F00117362 /* AuthorizationSequenceSignUpControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthorizationSequenceSignUpControllerNode.swift; sourceTree = "<group>"; };
|
||||
D0F69CD61D6B87D30046BCD6 /* MediaManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MediaManager.swift; sourceTree = "<group>"; };
|
||||
D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = TelegramUI.xcconfig; path = TelegramUI/Config/TelegramUI.xcconfig; sourceTree = "<group>"; };
|
||||
D0F69DC41D6B89E10046BCD6 /* RadialProgressNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadialProgressNode.swift; sourceTree = "<group>"; };
|
||||
D0F69E0E1D6B8ACF0046BCD6 /* ChatController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatController.swift; sourceTree = "<group>"; };
|
||||
D0F69E0F1D6B8ACF0046BCD6 /* ChatControllerInteraction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatControllerInteraction.swift; sourceTree = "<group>"; };
|
||||
@ -2569,7 +2568,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D0EB42041F3143AB00838FE6 /* LegacyComponentsResources.bundle */,
|
||||
D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */,
|
||||
D0AB0BBA1D6719B5002C78E7 /* Images.xcassets */,
|
||||
D0471B521EFD8EBC0074D609 /* Resources */,
|
||||
D073CE611DCBBE09007511FD /* Sounds */,
|
||||
@ -3138,7 +3136,6 @@
|
||||
/* Begin XCBuildConfiguration section */
|
||||
D021D510219CB2240064BEBA /* DebugFork */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -3201,7 +3198,6 @@
|
||||
};
|
||||
D021D511219CB2240064BEBA /* DebugFork */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
DEVELOPMENT_TEAM = X834Q8SBVP;
|
||||
@ -3265,7 +3261,6 @@
|
||||
};
|
||||
D0400EDB1D5B900A007931CE /* ReleaseAppStore */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -3321,7 +3316,6 @@
|
||||
};
|
||||
D0400EDD1D5B900A007931CE /* ReleaseAppStore */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
@ -3338,7 +3332,6 @@
|
||||
};
|
||||
D079FD261F06BEF70038FADE /* DebugAppStore */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -3401,7 +3394,6 @@
|
||||
};
|
||||
D079FD271F06BEF70038FADE /* DebugAppStore */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
DEVELOPMENT_TEAM = X834Q8SBVP;
|
||||
@ -3465,7 +3457,6 @@
|
||||
};
|
||||
D0924FEE1FE52C29003F693F /* ReleaseHockeyappInternal */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -3521,7 +3512,6 @@
|
||||
};
|
||||
D0924FEF1FE52C29003F693F /* ReleaseHockeyappInternal */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
@ -3585,7 +3575,6 @@
|
||||
};
|
||||
D0ADF948212B3B0000310BBC /* DebugAppStoreLLC */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -3648,7 +3637,6 @@
|
||||
};
|
||||
D0ADF949212B3B0000310BBC /* DebugAppStoreLLC */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
DEVELOPMENT_TEAM = X834Q8SBVP;
|
||||
@ -3712,7 +3700,6 @@
|
||||
};
|
||||
D0CE6F02213DC32300BCD44B /* ReleaseAppStoreLLC */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -3768,7 +3755,6 @@
|
||||
};
|
||||
D0CE6F03213DC32300BCD44B /* ReleaseAppStoreLLC */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
@ -3973,7 +3959,6 @@
|
||||
};
|
||||
D0FC40911D5B8E7500261D9D /* DebugHockeyapp */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -4036,7 +4021,6 @@
|
||||
};
|
||||
D0FC40921D5B8E7500261D9D /* ReleaseHockeyapp */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -4092,7 +4076,6 @@
|
||||
};
|
||||
D0FC40971D5B8E7500261D9D /* DebugHockeyapp */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
DEVELOPMENT_TEAM = X834Q8SBVP;
|
||||
@ -4108,7 +4091,6 @@
|
||||
};
|
||||
D0FC40981D5B8E7500261D9D /* ReleaseHockeyapp */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
|
@ -328,6 +328,7 @@
|
||||
69F791592222AC2800FE53C4 /* SampleBufferDisplayLayerRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F791572222AC2800FE53C4 /* SampleBufferDisplayLayerRenderer.h */; };
|
||||
69FB0B2D20F6860E00827817 /* MessageThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69FB0B2420F6860D00827817 /* MessageThread.cpp */; };
|
||||
D01748C9231978B700AF3D3A /* libtgvoip.h in Headers */ = {isa = PBXBuildFile; fileRef = D01748C8231978B700AF3D3A /* libtgvoip.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
D01A17362320007000DEA338 /* MtProtoKitDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D01A17352320007000DEA338 /* MtProtoKitDynamic.framework */; };
|
||||
D03292E22314249D00338D35 /* OngoingCallThreadLocalContext.h in Headers */ = {isa = PBXBuildFile; fileRef = D03292E02314249C00338D35 /* OngoingCallThreadLocalContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
D03292E32314249D00338D35 /* OngoingCallThreadLocalContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = D03292E12314249D00338D35 /* OngoingCallThreadLocalContext.mm */; };
|
||||
/* End PBXBuildFile section */
|
||||
@ -1056,6 +1057,7 @@
|
||||
69FB0B2C20F6860D00827817 /* MessageThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageThread.h; sourceTree = "<group>"; };
|
||||
D00ACA4D20222F5D0045D427 /* SetupLogging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetupLogging.h; sourceTree = "<group>"; };
|
||||
D01748C8231978B700AF3D3A /* libtgvoip.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libtgvoip.h; sourceTree = "<group>"; };
|
||||
D01A17352320007000DEA338 /* MtProtoKitDynamic.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MtProtoKitDynamic.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D03292E02314249C00338D35 /* OngoingCallThreadLocalContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OngoingCallThreadLocalContext.h; sourceTree = "<group>"; };
|
||||
D03292E12314249D00338D35 /* OngoingCallThreadLocalContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OngoingCallThreadLocalContext.mm; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@ -1065,6 +1067,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D01A17362320007000DEA338 /* MtProtoKitDynamic.framework in Frameworks */,
|
||||
09B4A9BC23151A40005C2E08 /* VideoToolbox.framework in Frameworks */,
|
||||
692AB91F1E675F7000706ACC /* AudioToolbox.framework in Frameworks */,
|
||||
692AB9201E675F7000706ACC /* AudioUnit.framework in Frameworks */,
|
||||
@ -1184,6 +1187,7 @@
|
||||
692AB9061E675E8700706ACC /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D01A17352320007000DEA338 /* MtProtoKitDynamic.framework */,
|
||||
09B4A9BB23151A3F005C2E08 /* VideoToolbox.framework */,
|
||||
692AB91C1E675F7000706ACC /* AudioToolbox.framework */,
|
||||
692AB91D1E675F7000706ACC /* AudioUnit.framework */,
|
||||
|
@ -1,22 +1,29 @@
|
||||
load("//Config:buck_rule_macros.bzl", "static_library")
|
||||
|
||||
static_library(
|
||||
name = "RLottie",
|
||||
name = "RLottieBinding",
|
||||
srcs = glob([
|
||||
"Sources/rlottie/src/**/*.cpp",
|
||||
], exclude = ["Sources/rlottie/src/vector/vdrawhelper_neon.cpp"]) + [
|
||||
"Sources/LottieInstance.mm"
|
||||
"rlottie/src/**/*.cpp",
|
||||
], exclude = [
|
||||
"rlottie/src/vector/vdrawhelper_neon.cpp",
|
||||
"rlottie/src/vector/stb/**/*",
|
||||
]) + [
|
||||
"LottieInstance.mm"
|
||||
],
|
||||
compiler_flags = [
|
||||
"-Dpixman_region_selfcheck(x)=1",
|
||||
"-DLOTTIE_DISABLE_ARM_NEON=1",
|
||||
],
|
||||
headers = glob([
|
||||
"Sources/rlottie/src/**/*.h",
|
||||
"Sources/rlottie/inc/**/*.h",
|
||||
"rlottie/src/**/*.h",
|
||||
"rlottie/inc/**/*.h",
|
||||
], exclude = [
|
||||
"Sources/rlottie/src/lottie/rapidjson/msinttypes/**/*",
|
||||
"rlottie/src/lottie/rapidjson/msinttypes/**/*",
|
||||
]) + [
|
||||
"Sources/LottieInstance.h"
|
||||
"LottieInstance.h"
|
||||
],
|
||||
exported_headers = [
|
||||
"Sources/LottieInstance.h"
|
||||
"LottieInstance.h"
|
||||
],
|
||||
frameworks = [
|
||||
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1 +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="E66DC04E79C1F69100000000" BlueprintName="RLottie" BuildableIdentifier="primary" BuildableName="libRLottie.a" ReferencedContainer="container:RLottie.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>
|
||||
<?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="E66DC04ECF8CFAB400000000" BlueprintName="RLottieBinding" BuildableIdentifier="primary" BuildableName="libRLottieBinding.a" ReferencedContainer="container:rlottie.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>
|
Loading…
x
Reference in New Issue
Block a user