diff --git a/README.md b/README.md
new file mode 100644
index 0000000000..133afbe21a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,16 @@
+# Telegram iOS Source Code Compilation Guide
+
+1. Install the brew package manager, if you haven’t already.
+2. Install the packages pkg-config, yasm:
+```
+brew install pkg-config yasm
+```
+3. Clone the project from GitHub:
+
+```
+git clone --recursive https://github.com/peter-iakovlev/Telegram-iOS.git
+```
+4. Open Telegram-iOS.workspace.
+5. Open the Telegram-iOS-Fork scheme.
+6. Start the compilation process.
+7. To run the app on your device, you will need to set the correct values for the signature, .entitlements files and package IDs in accordance with your developer account values.
diff --git a/Telegram-iOS/Config-Fork.xcconfig b/Telegram-iOS/Config-Fork.xcconfig
index 5139070d6f..c3192251c1 100644
--- a/Telegram-iOS/Config-Fork.xcconfig
+++ b/Telegram-iOS/Config-Fork.xcconfig
@@ -5,4 +5,4 @@ APP_SPECIFIC_URL_SCHEME=tgfork
GLOBAL_CONSTANTS = APP_CONFIG_IS_INTERNAL_BUILD=false APP_CONFIG_IS_APPSTORE_BUILD=true APP_CONFIG_APPSTORE_ID=0 APP_SPECIFIC_URL_SCHEME="\"$(APP_SPECIFIC_URL_SCHEME)\""
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) $(GLOBAL_CONSTANTS)
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) APP_CONFIG_API_ID=8 APP_CONFIG_API_HASH="\"7245de8e747a0d6fbe11f7cc14fcc0bb\"" APP_CONFIG_HOCKEYAPP_ID="\"\""
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) APP_CONFIG_API_ID=8 APP_CONFIG_API_HASH="\"7245de8e747a0d6fbe11f7cc14fcc0bb\"" APP_CONFIG_HOCKEYAPP_ID="\"\""
\ No newline at end of file
diff --git a/Telegram-iOS/Telegram-iOS-Fork.entitlements b/Telegram-iOS/Telegram-iOS-Fork.entitlements
index 3b7b8a376e..b7e410258c 100644
--- a/Telegram-iOS/Telegram-iOS-Fork.entitlements
+++ b/Telegram-iOS/Telegram-iOS-Fork.entitlements
@@ -13,7 +13,7 @@
com.apple.security.application-groups
- group.fork.telegram.Telegram-iOS
+ group.fork.telegram.Fork
diff --git a/buildbox/guest-build-telegram.sh b/buildbox/guest-build-telegram.sh
index ba7bc34620..5db29946be 100644
--- a/buildbox/guest-build-telegram.sh
+++ b/buildbox/guest-build-telegram.sh
@@ -2,6 +2,8 @@
if [ "$1" == "hockeyapp" ]; then
FASTLANE_BUILD_CONFIGURATION="internalhockeyapp"
+ CERTS_PATH="codesigning_data/certs"
+ PROFILES_PATH="codesigning_data/profiles"
elif [ "$1" == "appstore" ]; then
FASTLANE_BUILD_CONFIGURATION="testflight_llc"
if [ -z "$TELEGRAM_BUILD_APPSTORE_PASSWORD" ]; then
@@ -14,8 +16,16 @@ elif [ "$1" == "appstore" ]; then
fi
FASTLANE_PASSWORD="$TELEGRAM_BUILD_APPSTORE_PASSWORD"
FASTLANE_ITC_TEAM_NAME="$TELEGRAM_BUILD_APPSTORE_TEAM_NAME"
+ CERTS_PATH="codesigning_data/certs"
+ PROFILES_PATH="codesigning_data/profiles"
elif [ "$1" == "verify" ]; then
FASTLANE_BUILD_CONFIGURATION="build_for_appstore"
+ CERTS_PATH="buildbox/fake-codesigning/certs"
+ PROFILES_PATH="buildbox/fake-codesigning/profiles"
+elif [ "$1" == "verify-local" ]; then
+ FASTLANE_BUILD_CONFIGURATION="build_for_appstore"
+ CERTS_PATH="buildbox/fake-codesigning/certs"
+ PROFILES_PATH="buildbox/fake-codesigning/profiles"
else
echo "Unknown configuration $1"
exit 1
@@ -24,34 +34,39 @@ fi
MY_KEYCHAIN="temp.keychain"
MY_KEYCHAIN_PASSWORD="secret"
+if [ ! -z "$(security list-keychains | grep "$MY_KEYCHAIN")" ]; then
+ security delete-keychain "$MY_KEYCHAIN" || true
+fi
security create-keychain -p "$MY_KEYCHAIN_PASSWORD" "$MY_KEYCHAIN"
security list-keychains -d user -s "$MY_KEYCHAIN" $(security list-keychains -d user | sed s/\"//g)
security set-keychain-settings "$MY_KEYCHAIN"
security unlock-keychain -p "$MY_KEYCHAIN_PASSWORD" "$MY_KEYCHAIN"
-CERTS_PATH="codesigning_data/certs"
for f in $(ls "$CERTS_PATH"); do
fastlane run import_certificate "certificate_path:$CERTS_PATH/$f" keychain_name:"$MY_KEYCHAIN" keychain_password:"$MY_KEYCHAIN_PASSWORD" log_output:true
done
mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
-PROFILES_PATH="codesigning_data/profiles"
for f in $(ls "$PROFILES_PATH"); do
PROFILE_PATH="$PROFILES_PATH/$f"
uuid=`grep UUID -A1 -a "$PROFILE_PATH" | grep -io "[-A-F0-9]\{36\}"`
- cp "$PROFILE_PATH" "$HOME/Library/MobileDevice/Provisioning Profiles/$uuid.mobileprovision"
+ cp -f "$PROFILE_PATH" "$HOME/Library/MobileDevice/Provisioning Profiles/$uuid.mobileprovision"
done
-SOURCE_PATH="telegram-ios"
+if [ "$1" == "verify-local" ]; then
+ fastlane "$FASTLANE_BUILD_CONFIGURATION"
+else
+ SOURCE_PATH="telegram-ios"
-if [ -d "$SOURCE_PATH" ]; then
- echo "$SOURCE_PATH must not exist"
- exit 1
+ if [ -d "$SOURCE_PATH" ]; then
+ echo "Directory $SOURCE_PATH should not exist"
+ exit 1
+ fi
+
+ echo "Unpacking files..."
+ tar -xf "source.tar"
+
+ cd "$SOURCE_PATH"
+ FASTLANE_PASSWORD="$FASTLANE_PASSWORD" FASTLANE_ITC_TEAM_NAME="$FASTLANE_ITC_TEAM_NAME" fastlane "$FASTLANE_BUILD_CONFIGURATION"
fi
-
-echo "Unpacking files..."
-tar -xf "source.tar"
-
-cd "$SOURCE_PATH"
-FASTLANE_PASSWORD="$FASTLANE_PASSWORD" FASTLANE_ITC_TEAM_NAME="$FASTLANE_ITC_TEAM_NAME" fastlane "$FASTLANE_BUILD_CONFIGURATION"
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index f8d9f1f6fa..5dffc7a870 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -63,4 +63,6 @@ lane :build_for_appstore do |options|
)
end
-import "../../Telegram-iOS-Shared/fastlane/Fastfile"
+if File.exists?("../../Telegram-iOS-Shared/fastlane/Fastfile")
+ import "../../Telegram-iOS-Shared/fastlane/Fastfile"
+end