diff --git a/Podfile b/Podfile index 51c1f371c..14da8761a 100644 --- a/Podfile +++ b/Podfile @@ -1,28 +1,38 @@ platform :ios, '8.0' source 'https://github.com/CocoaPods/Specs.git' -target 'Signal' do - pod 'Mantle', :inhibit_warnings => true - pod 'YapDatabase/SQLCipher', '~> 2.9.3', :inhibit_warnings => true - pod 'ATAppUpdater', :inhibit_warnings => true - pod 'AxolotlKit', git: 'https://github.com/WhisperSystems/SignalProtocolKit.git' - #pod 'AxolotlKit', path: '../SignalProtocolKit' - pod 'JSQMessagesViewController', git: 'https://github.com/WhisperSystems/JSQMessagesViewController.git', branch: 'signal-master', :inhibit_warnings => true - #pod 'JSQMessagesViewController', path: '../JSQMessagesViewController' - pod 'PureLayout', :inhibit_warnings => true - pod 'OpenSSL', git: 'https://github.com/WhisperSystems/OpenSSL-Pod', inhibit_warnings: true - pod 'Reachability', :inhibit_warnings => true - pod 'SignalServiceKit', path: '.' - pod 'SocketRocket', :git => 'https://github.com/facebook/SocketRocket.git', :inhibit_warnings => true - pod 'YYImage' - target 'SignalTests' do - inherit! :search_paths - end +def shared_pods + pod 'Mantle', :inhibit_warnings => true + pod 'YapDatabase/SQLCipher', '~> 2.9.3', :inhibit_warnings => true + pod 'AxolotlKit', git: 'https://github.com/WhisperSystems/SignalProtocolKit.git' + #pod 'AxolotlKit', path: '../SignalProtocolKit' + pod 'PureLayout', :inhibit_warnings => true + pod 'OpenSSL', git: 'https://github.com/WhisperSystems/OpenSSL-Pod', inhibit_warnings: true + pod 'Reachability', :inhibit_warnings => true + pod 'SignalServiceKit', path: '.' + pod 'SocketRocket', :git => 'https://github.com/facebook/SocketRocket.git', :inhibit_warnings => true + pod 'YYImage' +end - post_install do |installer| - # Disable some asserts when building for tests - set_building_for_tests_config(installer, 'SignalServiceKit') - end +post_install do |installer| + # Disable some asserts when building for tests + set_building_for_tests_config(installer, 'SignalServiceKit') + enable_extension_support_for_purelayout(installer) +end + +target 'Signal' do + shared_pods + pod 'ATAppUpdater', :inhibit_warnings => true + pod 'JSQMessagesViewController', git: 'https://github.com/WhisperSystems/JSQMessagesViewController.git', branch: 'signal-master', :inhibit_warnings => true + #pod 'JSQMessagesViewController', path: '../JSQMessagesViewController' + + target 'SignalTests' do + inherit! :search_paths + end +end + +target 'SignalShareExtension' do + shared_pods end # There are some asserts and debug checks that make testing difficult - e.g. Singleton asserts @@ -47,3 +57,15 @@ def set_building_for_tests_config(installer, target_name) build_config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = "#{existing_definitions} POD_CONFIGURATION_TEST=1 COCOAPODS=1 SSK_BUILDING_FOR_TESTS=1" end +def enable_extension_support_for_purelayout(installer) + installer.pods_project.targets.each do |target| + if target.name.end_with? "PureLayout" + target.build_configurations.each do |build_configuration| + if build_configuration.build_settings['APPLICATION_EXTENSION_API_ONLY'] == 'YES' + build_configuration.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['$(inherited)', 'PURELAYOUT_APP_EXTENSIONS=1'] + end + end + end + end +end + diff --git a/Podfile.lock b/Podfile.lock index affcd9191..c5add7910 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -178,6 +178,6 @@ SPEC CHECKSUMS: YapDatabase: cd911121580ff16675f65ad742a9eb0ab4d9e266 YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 -PODFILE CHECKSUM: c2050a9ca911ca680c14ef28faa0c5e79df81210 +PODFILE CHECKSUM: f4fae6cdf4f646cae494d89c98fe225f455836fe COCOAPODS: 1.3.1 diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 1d1ce3999..dd8fd3393 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 1C08FF1D425152263FA4A34F /* libPods-SignalShareExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1887AA0D47FC18AB4F5B9189 /* libPods-SignalShareExtension.a */; }; 3400C7931EAF89CD008A8584 /* SendExternalFileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3400C7911EAF89CD008A8584 /* SendExternalFileViewController.m */; }; 3400C7961EAF99F4008A8584 /* SelectThreadViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3400C7951EAF99F4008A8584 /* SelectThreadViewController.m */; }; 3400C7991EAFB772008A8584 /* ThreadViewHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 3400C7981EAFB772008A8584 /* ThreadViewHelper.m */; }; @@ -444,7 +445,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 1887AA0D47FC18AB4F5B9189 /* libPods-SignalShareExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SignalShareExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SignalTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1C93CF3971B64E8B6C1F9AC1 /* Pods-SignalShareExtension.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalShareExtension.test.xcconfig"; path = "Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.test.xcconfig"; sourceTree = ""; }; 1CE3CD5C23334683BDD3D78C /* Pods-Signal.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Signal.test.xcconfig"; path = "Pods/Target Support Files/Pods-Signal/Pods-Signal.test.xcconfig"; sourceTree = ""; }; 34009B651EC4CB11001D95D1 /* OWSMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSMath.h; sourceTree = ""; }; 3400C7901EAF89CD008A8584 /* SendExternalFileViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SendExternalFileViewController.h; sourceTree = ""; }; @@ -650,6 +653,7 @@ 34F308A11ECB469700BB7697 /* OWSBezierPathView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBezierPathView.m; sourceTree = ""; }; 34FD936E1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OWSAnyTouchGestureRecognizer.h; path = views/OWSAnyTouchGestureRecognizer.h; sourceTree = ""; }; 34FD936F1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OWSAnyTouchGestureRecognizer.m; path = views/OWSAnyTouchGestureRecognizer.m; sourceTree = ""; }; + 435EAC2E5E22D3F087EB3192 /* Pods-SignalShareExtension.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalShareExtension.app store release.xcconfig"; path = "Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.app store release.xcconfig"; sourceTree = ""; }; 450449371F45EE7D002D1ADA /* NSString+OWS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+OWS.h"; path = "util/NSString+OWS.h"; sourceTree = ""; }; 450449381F45EE7D002D1ADA /* NSString+OWS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+OWS.m"; path = "util/NSString+OWS.m"; sourceTree = ""; }; 450573FC1E78A06D00615BB4 /* OWS103EnableVideoCalling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OWS103EnableVideoCalling.h; path = Migrations/OWS103EnableVideoCalling.h; sourceTree = ""; }; @@ -780,6 +784,7 @@ 45F659811E1BE77000444429 /* NonCallKitCallUIAdaptee.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NonCallKitCallUIAdaptee.swift; sourceTree = ""; }; 45FBC59A1DF8575700E9B410 /* CallKitCallManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallKitCallManager.swift; sourceTree = ""; }; 45FBC5D01DF8592E00E9B410 /* SignalCall.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignalCall.swift; sourceTree = ""; }; + 69349DE607F5BA6036C9AC60 /* Pods-SignalShareExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalShareExtension.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.debug.xcconfig"; sourceTree = ""; }; 70377AAA1918450100CAF501 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; 7038632318F70C0700D4A43F /* CryptoTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoTools.h; sourceTree = ""; }; 7038632418F70C0700D4A43F /* CryptoTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CryptoTools.m; sourceTree = ""; }; @@ -953,6 +958,7 @@ buildActionMask = 2147483647; files = ( 453518A21FC63E2900210559 /* SignalMessaging.framework in Frameworks */, + 1C08FF1D425152263FA4A34F /* libPods-SignalShareExtension.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1633,6 +1639,9 @@ E85DB184824BA9DC302EC8B3 /* Pods-SignalTests.app store release.xcconfig */, 1CE3CD5C23334683BDD3D78C /* Pods-Signal.test.xcconfig */, 8981C8F64D94D3C52EB67A2C /* Pods-SignalTests.test.xcconfig */, + 69349DE607F5BA6036C9AC60 /* Pods-SignalShareExtension.debug.xcconfig */, + 1C93CF3971B64E8B6C1F9AC1 /* Pods-SignalShareExtension.test.xcconfig */, + 435EAC2E5E22D3F087EB3192 /* Pods-SignalShareExtension.app store release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -1823,6 +1832,7 @@ D221A091169C9E5E00537ABF /* CoreGraphics.framework */, 7DB8EE72F8522189E3E2CB45 /* libPods-Signal.a */, 1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */, + 1887AA0D47FC18AB4F5B9189 /* libPods-SignalShareExtension.a */, ); name = Frameworks; sourceTree = ""; @@ -1913,9 +1923,11 @@ isa = PBXNativeTarget; buildConfigurationList = 453518761FC635DD00210559 /* Build configuration list for PBXNativeTarget "SignalShareExtension" */; buildPhases = ( + 16FA77C536F8C08C5046FA6B /* [CP] Check Pods Manifest.lock */, 453518641FC635DD00210559 /* Sources */, 453518651FC635DD00210559 /* Frameworks */, 453518661FC635DD00210559 /* Resources */, + 7B85A55670DC3D49AFBF7359 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2210,6 +2222,24 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + 16FA77C536F8C08C5046FA6B /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SignalShareExtension-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 3465F381B1856CC06933B3A8 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2324,6 +2354,32 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + 7B85A55670DC3D49AFBF7359 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension-resources.sh", + "${PODS_ROOT}/SAMKeychain/Support/SAMKeychain.bundle", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/textsecure.cer", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/GIAG2.crt", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/GSR2.crt", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/GSR4.crt", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/GTSR1.crt", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/GTSR2.crt", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/GTSR3.crt", + "${PODS_ROOT}/../SignalServiceKit/src/Security/PinningCertificate/GTSR4.crt", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; B4E9B04E862FB64FC9A8F79B /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2952,6 +3008,7 @@ }; 453518731FC635DD00210559 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 69349DE607F5BA6036C9AC60 /* Pods-SignalShareExtension.debug.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -2991,6 +3048,7 @@ }; 453518741FC635DD00210559 /* Test */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1C93CF3971B64E8B6C1F9AC1 /* Pods-SignalShareExtension.test.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -3051,6 +3109,7 @@ }; 453518751FC635DD00210559 /* App Store Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 435EAC2E5E22D3F087EB3192 /* Pods-SignalShareExtension.app store release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES;