diff --git a/.gitignore b/.gitignore index d7d50f9a490ccb6a3d7cf35506c0bf9d4ed851aa..d5e9e14bf7c500722856de6a2a8babd83a27b2fe 100755 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ Common/Libraries/GTMOAuth/Source/GTMOAuth2.xcodeproj/xcuserdata Gitter/GitterSecrets-Dev.plist Gitter/GitterSecrets-Beta.plist Gitter/GitterSecrets-Prod.plist +Gitter/www diff --git a/Gitter.xcodeproj/project.pbxproj b/Gitter.xcodeproj/project.pbxproj index 7c98aa72c93bfda161efd0be2a8e387a676a612b..2bc9ba9cbbb5693ea590062391cecfb2bdc25139 100644 --- a/Gitter.xcodeproj/project.pbxproj +++ b/Gitter.xcodeproj/project.pbxproj @@ -7,13 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 071D09B22213758100C65369 /* SocketRocket-macOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 071D092D2213758100C65369 /* SocketRocket-macOS.xcconfig */; }; - 071D09B32213758100C65369 /* SocketRocket-tvOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 071D092E2213758100C65369 /* SocketRocket-tvOS.xcconfig */; }; 071D09B42213758100C65369 /* Shared in Resources */ = {isa = PBXBuildFile; fileRef = 071D092F2213758100C65369 /* Shared */; }; - 071D09B52213758100C65369 /* SocketRocketTests-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 071D09302213758100C65369 /* SocketRocketTests-iOS.xcconfig */; }; - 071D09B62213758100C65369 /* SocketRocket-iOS-Dynamic.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 071D09312213758100C65369 /* SocketRocket-iOS-Dynamic.xcconfig */; }; - 071D09B72213758100C65369 /* TestChat-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 071D09322213758100C65369 /* TestChat-iOS.xcconfig */; }; - 071D09B82213758100C65369 /* SocketRocket-iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 071D09332213758100C65369 /* SocketRocket-iOS.xcconfig */; }; 071D09B92213758100C65369 /* autobahn_fuzzingserver.json in Resources */ = {isa = PBXBuildFile; fileRef = 071D09352213758100C65369 /* autobahn_fuzzingserver.json */; }; 071D09BA2213758100C65369 /* run_test_server.sh in Resources */ = {isa = PBXBuildFile; fileRef = 071D09362213758100C65369 /* run_test_server.sh */; }; 071D09BB2213758100C65369 /* setup_env.sh in Resources */ = {isa = PBXBuildFile; fileRef = 071D09372213758100C65369 /* setup_env.sh */; }; @@ -60,18 +54,6 @@ 071D09EE2213758100C65369 /* TCAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 071D099E2213758100C65369 /* TCAppDelegate.m */; }; 071D09EF2213758100C65369 /* .travis.yml in Resources */ = {isa = PBXBuildFile; fileRef = 071D099F2213758100C65369 /* .travis.yml */; }; 0796F175214B64C30036F334 /* GitterSecrets-Dev.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0796F174214B64C30036F334 /* GitterSecrets-Dev.plist */; }; - 07E8214E22137B8800AE150E /* Common.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8213822137B8800AE150E /* Common.xcconfig */; }; - 07E8214F22137B8800AE150E /* macOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8213A22137B8800AE150E /* macOS.xcconfig */; }; - 07E8215022137B8800AE150E /* tvOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8213B22137B8800AE150E /* tvOS.xcconfig */; }; - 07E8215122137B8800AE150E /* iOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8213C22137B8800AE150E /* iOS.xcconfig */; }; - 07E8215222137B8800AE150E /* watchOS.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8213D22137B8800AE150E /* watchOS.xcconfig */; }; - 07E8215322137B8800AE150E /* Application.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8213F22137B8800AE150E /* Application.xcconfig */; }; - 07E8215422137B8800AE150E /* DynamicFramework.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214022137B8800AE150E /* DynamicFramework.xcconfig */; }; - 07E8215522137B8800AE150E /* StaticFramework.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214122137B8800AE150E /* StaticFramework.xcconfig */; }; - 07E8215622137B8800AE150E /* LogicTests.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214222137B8800AE150E /* LogicTests.xcconfig */; }; - 07E8215722137B8800AE150E /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214422137B8800AE150E /* Debug.xcconfig */; }; - 07E8215822137B8800AE150E /* Release.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214522137B8800AE150E /* Release.xcconfig */; }; - 07E8215922137B8800AE150E /* Warnings.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214622137B8800AE150E /* Warnings.xcconfig */; }; 07E8215B22137B8800AE150E /* .gitignore in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214822137B8800AE150E /* .gitignore */; }; 07E8215C22137B8800AE150E /* build_task.rb in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214B22137B8800AE150E /* build_task.rb */; }; 07E8215D22137B8800AE150E /* build_framework_task.rb in Resources */ = {isa = PBXBuildFile; fileRef = 07E8214C22137B8800AE150E /* build_framework_task.rb */; }; @@ -455,7 +437,6 @@ 0ACAFF6316C04546008B7750 /* Gitter-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Gitter-Info.plist"; sourceTree = ""; }; 0ACAFF6716C04546008B7750 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 0ACAFF6916C04546008B7750 /* Gitter-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Gitter-Prefix.pch"; sourceTree = ""; }; - 0ACAFF7416C04546008B7750 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard.storyboard; sourceTree = ""; }; 0ACAFF7E16C04559008B7750 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 0ACAFF8B16C0466E008B7750 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; }; 0ACAFF8E16C0474F008B7750 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; @@ -587,6 +568,7 @@ 51EE3DA91CE5F7DF002CBD6E /* BayeuxService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BayeuxService.swift; sourceTree = ""; }; A2D39F11F8F594FC341378F5 /* Pods-GitterTests.releaseadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GitterTests.releaseadhoc.xcconfig"; path = "Pods/Target Support Files/Pods-GitterTests/Pods-GitterTests.releaseadhoc.xcconfig"; sourceTree = ""; }; AC39364F769AD71164F675D6 /* Pods_GitterTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GitterTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B55CBC5723469A7C00E8814C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainStoryboard.storyboard; sourceTree = ""; }; CA5FD2F81D8BFE7B00DE24E7 /* SuggestionsDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SuggestionsDataSource.swift; sourceTree = ""; }; CAB095761D80519500583CFF /* ModelFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ModelFactory.swift; sourceTree = ""; }; CAB3AB6C1D8192E9001FCB13 /* RoomSearchDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RoomSearchDataSource.swift; sourceTree = ""; }; @@ -1490,7 +1472,6 @@ 0ACAFF5516C04546008B7750 /* Resources */, 789D786EEA92642E3CE7C1F2 /* [CP] Embed Pods Frameworks */, CC89DFB4A1159C474C8AC3F3 /* 📦 Embed Pods Frameworks */, - E4FC01CA8531A2210B7AA444 /* 📦 Copy Pods Resources */, ); buildRules = ( ); @@ -1510,8 +1491,6 @@ 5129F7091CEDD9640096A364 /* Sources */, 5129F70A1CEDD9640096A364 /* Frameworks */, 5129F70B1CEDD9640096A364 /* Resources */, - BC8F2CD4FB61AA13D1FC45B9 /* 📦 Embed Pods Frameworks */, - 72612229204DDF16795BC7F6 /* 📦 Copy Pods Resources */, ); buildRules = ( ); @@ -1531,12 +1510,12 @@ attributes = { CLASSPREFIX = TR; LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 1100; ORGANIZATIONNAME = "Troupe Technology Limited"; TargetAttributes = { 0ACAFF5616C04546008B7750 = { DevelopmentTeam = A86QBWJ43W; - LastSwiftMigration = 0800; + LastSwiftMigration = 1100; SystemCapabilities = { com.apple.BackgroundModes = { enabled = 1; @@ -1551,23 +1530,23 @@ }; 5129F70C1CEDD9640096A364 = { CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 0800; + LastSwiftMigration = 1100; TestTargetID = 0ACAFF5616C04546008B7750; }; }; }; buildConfigurationList = 0ACAFF5116C04546008B7750 /* Build configuration list for PBXProject "Gitter" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, - English, de, fr, it, nl, "zh-Hant", + Base, ); mainGroup = 0ACAFF4C16C04546008B7750; productRefGroup = 0ACAFF5816C04546008B7750 /* Products */; @@ -1674,7 +1653,6 @@ files = ( 071D09E62213758100C65369 /* Gemfile in Resources */, 5195BB511D4670DC005E26D1 /* AvatarCell.xib in Resources */, - 071D09B62213758100C65369 /* SocketRocket-iOS-Dynamic.xcconfig in Resources */, 51D3C8491D6F02B00070D1D2 /* CreateRoom.storyboard in Resources */, 51C99BB21D2FEFDB002DDD80 /* SecretMenu.storyboard in Resources */, 071D09BB2213758100C65369 /* setup_env.sh in Resources */, @@ -1683,54 +1661,37 @@ 0AABF60E16C248C50059B337 /* www in Resources */, 5117C6AD1D704D960053A59E /* Topics.storyboard in Resources */, 5141E4101D6EF0FB00771F13 /* HintView.xib in Resources */, - 071D09B52213758100C65369 /* SocketRocketTests-iOS.xcconfig in Resources */, 0A15D84017F06ED4000464AF /* Media.xcassets in Resources */, - 071D09B32213758100C65369 /* SocketRocket-tvOS.xcconfig in Resources */, 071D09B42213758100C65369 /* Shared in Resources */, - 07E8215522137B8800AE150E /* StaticFramework.xcconfig in Resources */, 071D09DC2213758100C65369 /* autobahn_configuration.json in Resources */, 071D09C62213758100C65369 /* SocketRocket.podspec in Resources */, 071D09C32213758100C65369 /* proxy.js in Resources */, 07E8215E22137B8800AE150E /* .clang-format in Resources */, 51113D811D64BB2600962526 /* AvatarWithBadgeCell.xib in Resources */, 071D09C12213758100C65369 /* chatroom.go in Resources */, - 07E8215922137B8800AE150E /* Warnings.xcconfig in Resources */, 07E8215C22137B8800AE150E /* build_task.rb in Resources */, - 071D09B72213758100C65369 /* TestChat-iOS.xcconfig in Resources */, 0796F175214B64C30036F334 /* GitterSecrets-Dev.plist in Resources */, - 07E8215022137B8800AE150E /* tvOS.xcconfig in Resources */, 071D09BE2213758100C65369 /* .ruby-version in Resources */, - 07E8215122137B8800AE150E /* iOS.xcconfig in Resources */, 071D09B92213758100C65369 /* autobahn_fuzzingserver.json in Resources */, 071D09EF2213758100C65369 /* .travis.yml in Resources */, - 07E8215322137B8800AE150E /* Application.xcconfig in Resources */, 071D09E42213758100C65369 /* CONTRIBUTING.md in Resources */, 0A4EDF1B16C297CD001FE8CA /* Settings.bundle in Resources */, 071D09C22213758100C65369 /* README in Resources */, - 07E8214E22137B8800AE150E /* Common.xcconfig in Resources */, 071D09BA2213758100C65369 /* run_test_server.sh in Resources */, 51E2097419100C9E00073B1C /* GitterDefaults.plist in Resources */, - 07E8215222137B8800AE150E /* watchOS.xcconfig in Resources */, - 071D09B82213758100C65369 /* SocketRocket-iOS.xcconfig in Resources */, - 07E8214F22137B8800AE150E /* macOS.xcconfig in Resources */, 07E8215B22137B8800AE150E /* .gitignore in Resources */, 071D09E12213758100C65369 /* .gitmodules in Resources */, 510C509C1C919D5E0029FD35 /* Login.storyboard in Resources */, 519871E11C231CDD002305E7 /* LoadingView.xib in Resources */, 071D09BD2213758100C65369 /* PATENTS in Resources */, - 07E8215422137B8800AE150E /* DynamicFramework.xcconfig in Resources */, 519871E41C23215E002305E7 /* NoResultsView.xib in Resources */, - 07E8215722137B8800AE150E /* Debug.xcconfig in Resources */, 071D09BC2213758100C65369 /* LICENSE in Resources */, 51D3C84B1D6F0B3E0070D1D2 /* CreateCommunity.storyboard in Resources */, 0A59B4C417562650009F7297 /* notify.caf in Resources */, 0A15324B1758D95600662AF7 /* notify-2.caf in Resources */, - 07E8215622137B8800AE150E /* LogicTests.xcconfig in Resources */, 07E8215D22137B8800AE150E /* build_framework_task.rb in Resources */, 071D09E72213758100C65369 /* InfoPlist.strings in Resources */, 511AAA3C1B0E113D005CB502 /* LaunchScreen.xib in Resources */, - 071D09B22213758100C65369 /* SocketRocket-macOS.xcconfig in Resources */, - 07E8215822137B8800AE150E /* Release.xcconfig in Resources */, 071D09E52213758100C65369 /* LICENSE-examples in Resources */, 071D09C02213758100C65369 /* chatroom.py in Resources */, ); @@ -1779,28 +1740,13 @@ 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; }; - 72612229204DDF16795BC7F6 /* 📦 Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "📦 Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-GitterTests/Pods-GitterTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 789D786EEA92642E3CE7C1F2 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Gitter/Pods-Gitter-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-Gitter/Pods-Gitter-frameworks.sh", "${BUILT_PRODUCTS_DIR}/ISO8601DateFormatter/ISO8601DateFormatter.framework", "${BUILT_PRODUCTS_DIR}/LibComponentLogging-Core/LibComponentLogging_Core.framework", "${BUILT_PRODUCTS_DIR}/NSData+Base64/NSData_Base64.framework", @@ -1817,7 +1763,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Gitter/Pods-Gitter-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Gitter/Pods-Gitter-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; AE438446E41399FBB717FCC5 /* [CP] Check Pods Manifest.lock */ = { @@ -1835,21 +1781,6 @@ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - BC8F2CD4FB61AA13D1FC45B9 /* 📦 Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "📦 Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-GitterTests/Pods-GitterTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; CC89DFB4A1159C474C8AC3F3 /* 📦 Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1883,21 +1814,6 @@ 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; }; - E4FC01CA8531A2210B7AA444 /* 📦 Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "📦 Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Gitter/Pods-Gitter-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -2076,7 +1992,7 @@ 0ACAFF7316C04546008B7750 /* MainStoryboard.storyboard */ = { isa = PBXVariantGroup; children = ( - 0ACAFF7416C04546008B7750 /* en */, + B55CBC5723469A7C00E8814C /* Base */, ); name = MainStoryboard.storyboard; sourceTree = ""; @@ -2092,12 +2008,20 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -2163,7 +2087,7 @@ PRODUCT_NAME = Gitter; PROVISIONING_PROFILE = ""; SWIFT_OBJC_BRIDGING_HEADER = "Gitter/Gitter-Bridging-Header.h"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = app; }; @@ -2177,12 +2101,20 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -2220,12 +2152,20 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -2291,7 +2231,7 @@ "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SWIFT_OBJC_BRIDGING_HEADER = "Gitter/Gitter-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = app; }; @@ -2338,7 +2278,7 @@ PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SWIFT_OBJC_BRIDGING_HEADER = "Gitter/Gitter-Bridging-Header.h"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = app; }; @@ -2384,7 +2324,7 @@ PRODUCT_BUNDLE_IDENTIFIER = im.gitter.GitterTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Gitter.app/Gitter"; }; name = Debug; @@ -2431,7 +2371,7 @@ MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = im.gitter.GitterTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Gitter.app/Gitter"; }; name = Release; @@ -2478,7 +2418,7 @@ MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = im.gitter.GitterTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Gitter.app/Gitter"; }; name = ReleaseAdHoc; diff --git a/Gitter.xcodeproj/xcshareddata/xcschemes/Gitter.xcscheme b/Gitter.xcodeproj/xcshareddata/xcschemes/Gitter.xcscheme index 0c28bea09599d4daa5290acf5c70423bdd321c60..803a6b7e054af174ec1146073084d24b2e601657 100755 --- a/Gitter.xcodeproj/xcshareddata/xcschemes/Gitter.xcscheme +++ b/Gitter.xcodeproj/xcshareddata/xcschemes/Gitter.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - Bool { + func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { Crittercism.enable(withAppID: "539f10fd0729df2353000001") // remove old cruft (remove after June 2016) @@ -46,8 +46,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return true } - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { - application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum) + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + application.setMinimumBackgroundFetchInterval(UIApplication.backgroundFetchIntervalMinimum) return true } @@ -143,7 +143,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { NSLog("didFailToRegisterForRemoteNotificationsWithError: %@", error as NSError) } - func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool { + func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool { return false } diff --git a/Gitter/Auth/KeychainItemWrapper.m b/Gitter/Auth/KeychainItemWrapper.m index 363c795febbb06d3e7c37d798d0e82c921dba463..f1c3a0c5a613e3b27f37bce71dc56c7d2a8e0d51 100755 --- a/Gitter/Auth/KeychainItemWrapper.m +++ b/Gitter/Auth/KeychainItemWrapper.m @@ -133,7 +133,7 @@ CFMutableDictionaryRef outDictionary = NULL; - if (!SecItemCopyMatching((__bridge CFDictionaryRef)tempQuery, (CFTypeRef *)&outDictionary) == noErr) + if (SecItemCopyMatching((__bridge CFDictionaryRef)tempQuery, (CFTypeRef *)&outDictionary) != errSecSuccess) { // Stick these default values into keychain item if nothing found. [self resetKeychainItem]; diff --git a/Gitter/en.lproj/MainStoryboard.storyboard b/Gitter/Base.lproj/MainStoryboard.storyboard similarity index 93% rename from Gitter/en.lproj/MainStoryboard.storyboard rename to Gitter/Base.lproj/MainStoryboard.storyboard index 55dab4509cf80ba023244a1c63bc54405ba92bf9..6fe1d5a61a4922cf60d68b6f1a0d4d0c5a61752f 100755 --- a/Gitter/en.lproj/MainStoryboard.storyboard +++ b/Gitter/Base.lproj/MainStoryboard.storyboard @@ -1,9 +1,9 @@ - + + - - - + + @@ -12,11 +12,11 @@ - + - + @@ -28,21 +28,21 @@ We will not annoy you with push notifications if you are currently online via web/desktop. We also throttle noisy conversations. - + - + - + - + - + - +