Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update TIP to v2.12.2 (#45)
### 2.12.2

- Add automatic handling of unnecessary image download errors when the download has finished loading
  - It is not uncommon for a service/CDN to yield an error after the final byte of the response has been loaded by the client
  - The consequence of treating a successful load as a failure is that upon next fetch for that image an unnessecary network request will trigger:
    - For image resumption supported loads, resumes the load beyond the available byte range
    - For full image loads, a redundant download
  - When TIP sees an error on image download but has all the bytes (looking at `Content-Length` header), TIP now posts `TIPProblemImageDownloadedWithUnnecessaryError` problem

Also, many misc bug fixes
  • Loading branch information
NSProgrammer committed Jun 4, 2019
1 parent 9d98639 commit 63deaed
Show file tree
Hide file tree
Showing 51 changed files with 1,576 additions and 976 deletions.
30 changes: 30 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.Debug.xcconfig
@@ -0,0 +1,30 @@
//
// TwitterImagePipeline.Debug.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.xcconfig"

// Architectures
ONLY_ACTIVE_ARCH = YES

// Build Options
DEBUG_INFORMATION_FORMAT = dwarf
ENABLE_TESTABILITY = YES
VALIDATE_PRODUCT = NO

// Apple LLVM 6.0 - Code Generation
GCC_OPTIMIZATION_LEVEL = 0

// Apple LLVM 6.0 - Preprocessing
ENABLE_NS_ASSERTIONS = YES
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1

// Swift Compiler - Code Generation
SWIFT_OPTIMIZATION_LEVEL = -Onone
18 changes: 18 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.Release.xcconfig
@@ -0,0 +1,18 @@
//
// TwitterImagePipeline.Release.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.xcconfig"

// Deployment
COPY_PHASE_STRIP = YES

GCC_OPTIMIZATION_LEVEL = fast

45 changes: 45 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.Test.app.xcconfig
@@ -0,0 +1,45 @@
//
// TwitterImagePipeline.Test.app.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.Test.xcconfig"

// Architectures
ONLY_ACTVE_ARCH = YES

// Deployment
COPY_PHASE_STRIP = NO
IPHONEOS_DEPLOYMENT_TARGET = 10.0 // 3 of the 4 sample apps use Foundation or UIKit API introduced in 10.0

// Asset Catalog Compiler - Options
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon

// Apple Clang - Language
GCC_C_LANGUAGE_STANDARD = gnu11

// Apple Clang - Language - C++
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"

// Apple Clang - Warnings - All Languages
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE

// Deployment
SKIP_INSTALL = NO

// Linking
LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks

// Packaging
INFOPLIST_FILE = $(TARGET_NAME)/Info.plist
PRODUCT_BUNDLE_IDENTIFIER = com.twitter.${PRODUCT_NAME:rfc1034identifier}
PRODUCT_NAME = $(TARGET_NAME)

// Search Paths
FRAMEWORK_SEARCH_PATHS = $(inherited) $(PROJECT_DIR)/Extended
26 changes: 26 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.Test.ios.xcconfig
@@ -0,0 +1,26 @@
//
// TwitterImagePipeline.Test.ios.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.Test.xcconfig"

// Architectures
SDKROOT = iphoneos

// Deployment
IPHONEOS_DEPLOYMENT_TARGET = 8.0

// Search Paths

// 1. we keep WebP.framework in our local "Extended" subfolder
// 2. while there is an XCTest.framework at the appropriate location relative to SDKROOT
// as referened in the projet, the compiler can't find it without the second setting
// when building the TIPTests.framework intermediate frameworks
FRAMEWORK_SEARCH_PATHS = $(inherited) $(PROJECT_DIR)/Extended $(SDKROOT)/../../Library/Frameworks
21 changes: 21 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.Test.swift.xcconfig
@@ -0,0 +1,21 @@
//
// TwitterImagePipeline.Test.swift.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.Test.app.xcconfig"

// Deployment

// required for Swift compilation
IPHONEOS_DEPLOYMENT_TARGET = 10.0

SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG
SWIFT_OBJC_BRIDGING_HEADER = $(TARGET_NAME)/Sample-Bridging-Header.h;
SWIFT_VERSION = 5.0;
26 changes: 26 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.Test.tvos.xcconfig
@@ -0,0 +1,26 @@
//
// TwitterImagePipeline.Test.tvos.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.Test.xcconfig"

// Architectures
SDKROOT = appletvos

// Deployment
TARGETED_DEVICE_FAMILY = 3
TVOS_DEPLOYMENT_TARGET = 9.0

// Search Paths

// while there is an XCTest.framework at the appropriate location in
// Developer/AppleTVOS.platform/Developer/Library/Frameworks, the compiler
// can't find it without the following setting:
FRAMEWORK_SEARCH_PATHS = $(inherited) $(SDKROOT)/../../Library/Frameworks
29 changes: 29 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.Test.xcconfig
@@ -0,0 +1,29 @@
//
// TwitterImagePipeline.Test.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

// Architectures
ONLY_ACTIVE_ARCH = YES

// Build Options
DEBUG_INFORMATION_FORMAT = dwarf

// Deployment
COPY_PHASE_STRIP = NO
SKIP_INSTALL = YES

// Linking
LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks

// Packaging
INFOPLIST_FILE = $(TARGET_NAME)/Info.plist
PRODUCT_BUNDLE_IDENTIFIER = com.twitter.${PRODUCT_NAME:rfc1034identifier}
PRODUCT_NAME = $(TARGET_NAME)

18 changes: 18 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.framework.ios.xcconfig
@@ -0,0 +1,18 @@
//
// TwitterImagePipeline.framework.ios.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.framework.xcconfig"

// Architectures
SDKROOT = iphoneos

// Deployment
IPHONEOS_DEPLOYMENT_TARGET = 8.0
20 changes: 20 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.framework.tvos.xcconfig
@@ -0,0 +1,20 @@
//
// TwitterImagePipeline.framework.tvos.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

#include "TwitterImagePipeline.framework.xcconfig"

// Architectures
SDKROOT = appletvos

// Deployment
CODE_SIGN_IDENTITY =
TARGETED_DEVICE_FAMILY = 3
TVOS_DEPLOYMENT_TARGET = 9.0
31 changes: 31 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.framework.xcconfig
@@ -0,0 +1,31 @@
//
// TwitterImagePipeline.framework.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

// Build Options
APPLICATION_EXTENSION_API_ONLY = YES

// Deployment
SKIP_INSTALL = YES

// Apple Clang - Preprocessing
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) TIP_PROJECT_VERSION=$(CURRENT_PROJECT_VERSION)

// Linking
DYLIB_COMPATIBILITY_VERSION = 1
DYLIB_CURRENT_VERSION = $(CURRENT_PROJECT_VERSION)
DYLIB_INSTALL_NAME_BASE = @rpath
LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks

// Packaging
DEFINES_MODULE = YES
INFOPLIST_FILE = $(PROJECT_NAME)/Info.plist
PRODUCT_BUNDLE_IDENTIFIER = com.twitter.${PROJECT_NAME:rfc1034identifier}
PRODUCT_NAME = $(PROJECT_NAME)
27 changes: 27 additions & 0 deletions BuildConfiguration/TwitterImagePipeline.static-library.xcconfig
@@ -0,0 +1,27 @@
//
// TwitterImagePipeline.framework.xcconfig
// TwitterImagePipeline
//
// Created on 5/25/19.
// Copyright © 2019 Twitter. All rights reserved.
//

// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974

// Architectures
SDKROOT = iphoneos

// Build Options
APPLICATION_EXTENSION_API_ONLY = YES

// Deployment
IPHONEOS_DEPLOYMENT_TARGET = 8.0
SKIP_INSTALL = YES

// Apple Clang - Preprocessing
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) TIP_PROJECT_VERSION=$(CURRENT_PROJECT_VERSION)

// Packaging
PRODUCT_NAME = $(TARGET_NAME)
PUBLIC_HEADERS_FOLDER_PATH = include/${PRODUCT_NAME}

0 comments on commit 63deaed

Please sign in to comment.