Skip to content

Commit

Permalink
Merge pull request #734 from Microsoft/develop
Browse files Browse the repository at this point in the history
Release 0.12.0
  • Loading branch information
jaeklim authored Aug 28, 2017
2 parents 2b05d83 + 37831f1 commit eb890d2
Show file tree
Hide file tree
Showing 751 changed files with 30,392 additions and 3,520 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
## Build generated
build/
DerivedData/
MobileCenter-SDK-iOS/
MobileCenter-SDK-Apple/
Documentation/**/Generated

## Various settings
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Mobile Center SDK for iOS Change Log

## Version 0.12.0

This version contains bug fixes, an improvement and a new feature. When you update to this release, there will be **potential data loss** if an application installed with previous versions of MobileCenter SDK on devices that has pending logs which are not sent to server yet at the time of the application is being updated.

## MobileCenter

* **[Improvement]** Changed to send one crash or error attachment log at a time to prevent HTTP requests become bigger.
* **[Fix]** Fixed database access failure when an application contains other SQLite libraries for custom database.

## MobileCenterCrashes

* **[Fix]** Fixed duplicated logs sent to server on crash.

## MobileCenterDistribute

* **[Feature]** New feature that allows to share your applications to anyone with public link.

___

## Version 0.11.2

This version contains a bug fix that wasn't properly fixed in the previous release.
Expand Down
18 changes: 18 additions & 0 deletions Config/Global Debug.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#include "./Global.xcconfig"

// :Mark: Architectures
ONLY_ACTIVE_ARCH = YES

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

// :Mark: Apple LLVM 8.1 - Code Generation
GCC_OPTIMIZATION_LEVEL = 0

// :Mark: Apple LLVM 8.1 - Preprocessing
ENABLE_NS_ASSERTIONS = YES

// :Mark: User-Defined
MTL_ENABLE_DEBUG_INFO = YES
18 changes: 18 additions & 0 deletions Config/Global Release.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#include "./Global.xcconfig"

// :Mark: Architectures
ONLY_ACTIVE_ARCH = NO

// :Mark: Build Options
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
ENABLE_TESTABILITY = NO
VALIDATE_PRODUCT = YES

// :Mark: Apple LLVM 8.1 - Code Generation
GCC_OPTIMIZATION_LEVEL = s

// :Mark: Apple LLVM 8.1 - Preprocessing
ENABLE_NS_ASSERTIONS = NO

// :Mark: User-Defined
MTL_ENABLE_DEBUG_INFO = NO
75 changes: 45 additions & 30 deletions Global.xcconfig → Config/Global.xcconfig
Original file line number Diff line number Diff line change
@@ -1,14 +1,43 @@
BUILD_NUMBER = 1
VERSION_STRING = 0.11.2

SDK_NAME = mobilecenter.ios
VERSION_STRING = 0.12.0

// :Mark: Architectures

MS_ARM_ARCHS = armv7 armv7s arm64
MS_WATCH_ARCHS = armv7k
MS_SIM_ARCHS = x86_64 i386
ARCHS = $(MS_ARM_ARCHS)
VALID_ARCHS = $(MS_ARM_ARCHS)
SDKROOT = iphoneos

// :Mark: Deployment
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
TVOS_DEPLOYMENT_TARGET = 10.0;
MACOSX_DEPLOYMENT_TARGET = 10.9;
COPY_PHASE_STRIP = NO

// :Mark: Packaging
PRODUCT_NAME = $(PROJECT_NAME)
PUBLIC_HEADERS_FOLDER_PATH = include/$(PRODUCT_NAME)

// :Mark: Language configurations
CLANG_ENABLE_MODULES = YES
CLANG_ENABLE_OBJC_ARC = YES
CLANG_CXX_LIBRARY = libc++
CLANG_CXX_LANGUAGE_STANDARD = gnu++14
GCC_C_LANGUAGE_STANDARD = gnu99

// :Mark: Search paths
ALWAYS_SEARCH_USER_PATHS = NO
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../MobileCenter/MobileCenter"/**

// :Mark: Code signing
CODE_SIGN_IDENTITY =

// :Mark: Linking
DEAD_CODE_STRIPPING = NO

// :Mark: Code generation
GCC_NO_COMMON_BLOCKS = YES

// :Mark: Preprocessing
ENABLE_STRICT_OBJC_MSGSEND = YES

// :Mark: OTHER_CFLAGS

Expand All @@ -20,10 +49,13 @@ OTHER_CFLAGS = -Wshorten-64-to-32 -Wall -fstack-protector-strong -fpie

// Use empty bitcode marker in simulators and debug configurations for real devices.
OTHER_CFLAGS[sdk=iphonesimulator*] = $(OTHER_CFLAGS) -fembed-bitcode-marker
OTHER_CFLAGS[sdk=appletvsimulator*] = $(OTHER_CFLAGS) -fembed-bitcode-marker
OTHER_CFLAGS[config=Debug][sdk=iphoneos*] = $(OTHER_CFLAGS) -fembed-bitcode-marker
OTHER_CFLAGS[config=Debug][sdk=appletvos*] = $(OTHER_CFLAGS) -fembed-bitcode-marker

// Activate full bitcode on release configuration for real devices.
OTHER_CFLAGS[config=Release][sdk=iphoneos*] = $(OTHER_CFLAGS) -fembed-bitcode
OTHER_CFLAGS[config=Release][sdk=appletvos*] = $(OTHER_CFLAGS) -fembed-bitcode

// :Mark: Extension API Only
// Make sure we don't use API that are not available in extensions.
Expand Down Expand Up @@ -75,32 +107,13 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) $(XCODEBUILD_GCC_PREPROCESSOR_DEFINI
// happens through malloc() and mmap() which always return at least 16byte alignment.
// Read more about alignment in the c++ reference: http://en.cppreference.com/w/cpp/language/object#Alignment.

// -reserved-id-macro
// PLCrashReporter uses lots of _-prefixed macros and it's not an issue but enabling -Weveryting being too pedantic.
// https://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier explains
// rules about using an underscore macro pretty well.

// -disabled-macro-expansion
// This silences warnings when consuming PLCrashReporter for macOS. The warning here actualy just complains about regular
// Preprocessor behavior.

// -objc-interface-ivars
// This causes warnings when consuming PLCrashReporter for macOS. It complains about the old way of defining private ivars.
// PLCrashReporter doesn't use ARC, so we cannot just remove the old ivars and be done. Changing PLCrashReporter just
// because of this warning doesn't make any sense.

// -documentation-unknown-command
// This causes 1 warning when consuming PLCrashReporter for macOS. The reason for the warning is that PLCRashReporter
// exposes Doxygen's @internal (it uses Doxygen to generate it's header docs) in a public header. There's no problem
// not knowing @internal, so we just ignore the warning.

WARNING_CFLAGS = -Weverything -Wno-objc-missing-property-synthesis -Wno-float-equal -Wno-pedantic -Wno-padded -Wno-sign-conversion -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-auto-import -Wno-assign-enum -Wno-exit-time-destructors -Wno-global-constructors -Wno-cast-align -Wno-reserved-id-macro -Wno-disabled-macro-expansion -Wno-objc-interface-ivars -Wno-documentation-unknown-command
WARNING_CFLAGS = -Weverything -Wno-objc-missing-property-synthesis -Wno-float-equal -Wno-pedantic -Wno-padded -Wno-sign-conversion -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-auto-import -Wno-assign-enum -Wno-exit-time-destructors -Wno-global-constructors -Wno-cast-align

// These are all partially (but not completely?) independent of WARNING_CFLAGS
// and need to be specified explicitly.
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
Expand Down Expand Up @@ -136,6 +149,8 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
CLANG_WARN_ENUM_CONVERSION = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
CLANG_WARN_INFINITE_RECURSION = YES
CLANG_WARN_SUSPICIOUS_MOVE = YES

// Enable extra analyze modes
CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES
Expand All @@ -144,5 +159,5 @@ CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES
CLANG_ANALYZER_NONNULL = YES

// Enable warnings-are-errors for all modes. Don't do this just yet.
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES
GCC_TREAT_WARNINGS_AS_ERRORS = YES
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES
GCC_TREAT_WARNINGS_AS_ERRORS = YES
9 changes: 9 additions & 0 deletions Config/Tests iOS.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#include "./Tests.xcconfig"
#include "./iOS.xcconfig"

OTHER_LDFLAGS = $(inherited) -framework UIKit -ObjC -lsqlite3 -framework CrashReporter

LD_RUNPATH_SEARCH_PATHS = @executable_path/Frameworks @loader_path/Frameworks "$(SRCROOT)/../Vendor/iOS/OCMock" "$(SRCROOT)/../Vendor/iOS/OCHamcrest" "$(SRCROOT)/../Vendor/iOS/OHHTTPStubs"

// OCMock and OCHamcrest have a bunch of warnings so we just disable this only for testing.
GCC_TREAT_WARNINGS_AS_ERRORS = NO
9 changes: 9 additions & 0 deletions Config/Tests macOS.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#include "./Tests.xcconfig"
#include "./macOS.xcconfig"

OTHER_LDFLAGS = $(inherited) -framework AppKit -ObjC -lsqlite3

LD_RUNPATH_SEARCH_PATHS = @executable_path/Frameworks @loader_path/Frameworks $(TOOLCHAIN_DIR)/usr/lib/swift/macosx "$(SRCROOT)/../Vendor/macOS/OCMock" "$(SRCROOT)/../Vendor/macOS/OCHamcrest" "$(SRCROOT)/../Vendor/macOS/OHHTTPStubs"

// OCMock and OCHamcrest have a bunch of warnings so we just disable this only for testing.
GCC_TREAT_WARNINGS_AS_ERRORS = NO
13 changes: 13 additions & 0 deletions Config/Tests tvOS.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#include "./Tests.xcconfig"
#include "./tvOS.xcconfig"

OTHER_LDFLAGS = $(inherited) -framework UIKit -ObjC -lsqlite3 -framework CrashReporter

LD_RUNPATH_SEARCH_PATHS = @executable_path/Frameworks @loader_path/Frameworks "$(SRCROOT)/../Vendor/tvOS/OCMock" "$(SRCROOT)/../Vendor/tvOS/OCHamcrest" "$(SRCROOT)/../Vendor/tvOS/OHHTTPStubs"

// OCMock and OCHamcrest have a bunch of warnings so we just disable this only for testing.
GCC_TREAT_WARNINGS_AS_ERRORS = NO

// OCHTTPStubs for tvOS cannot generate code coverage data without these flags.
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
DEFINES_MODULE = YES
8 changes: 8 additions & 0 deletions Config/Tests.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../Vendor/$(MOBILECENTER_BUILD_PLATFORM)"/**
HEADER_SEARCH_PATHS = "$(SRCROOT)/../Vendor/$(MOBILECENTER_BUILD_PLATFORM)"/**
LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../Vendor/$(MOBILECENTER_BUILD_PLATFORM)"/**

APPLICATION_EXTENSION_API_ONLY = NO
INFOPLIST_FILE = $(PROJECT_NAME)Tests/Info.plist

OTHER_CFLAGS = $(inherited) -iframework "$(SRCROOT)/../Vendor/$(MOBILECENTER_BUILD_PLATFORM)/OCMock" -iframework "$(SRCROOT)/../Vendor/$(MOBILECENTER_BUILD_PLATFORM)/OCHamcrest" -iframework "$(SRCROOT)/../Vendor/$(MOBILECENTER_BUILD_PLATFORM)/OHHTTPStubs" -iframework "$(PLATFORM_DIR)/Developer/Library/Frameworks"
9 changes: 9 additions & 0 deletions Config/iOS.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
SDK_NAME = mobilecenter.ios
SDKROOT = iphoneos
ARCHS = armv7 armv7s arm64
ARCHS[sdk=iphonesimulator*] = $(MS_SIM_ARCHS)
VALID_ARCHS = $(ARCHS)
VALID_ARCHS[sdk=iphonesimulator*] = $(MS_SIM_ARCHS)
SKIP_INSTALL = YES

MOBILECENTER_BUILD_PLATFORM = iOS
7 changes: 7 additions & 0 deletions Config/macOS.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
SDK_NAME = mobilecenter.macos
SDKROOT = macosx
ARCHS = x86_64
VALID_ARCHS = $(ARCHS) i386
SKIP_INSTALL = YES

MOBILECENTER_BUILD_PLATFORM = macOS
9 changes: 9 additions & 0 deletions Config/tvOS.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
SDK_NAME = mobilecenter.tvos
SDKROOT = appletvos
ARCHS = arm64
ARCHS[sdk=appletvsimulator*] = $(MS_SIM_ARCHS)
VALID_ARCHS = $(ARCHS)
VALID_ARCHS[sdk=appletvsimulator*] = $(MS_SIM_ARCHS)
SKIP_INSTALL = YES

MOBILECENTER_BUILD_PLATFORM = tvOS
Loading

0 comments on commit eb890d2

Please sign in to comment.