Skip to content

Commit 21dafcc

Browse files
author
Mike Richter
committed
PR 91: Merge release-1.0.1 to master #15071
- Make several changes regarding version #15071 - Check version where not generated #15071 - Remove 'beta' from supported platforms #15071 - Refine supported list #15071 Related work items: #15071
2 parents 23f27be + c7bc677 commit 21dafcc

File tree

8 files changed

+79
-20
lines changed

8 files changed

+79
-20
lines changed

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
Change Log
22
==========
33

4+
1.0.1
5+
-----------------------
6+
### Enhancements:
7+
8+
* Now supports macOS Sierra and Xcode 8.
9+
* Updated documentation.
10+
11+
412
1.0
513
-----------------------
614
### Functional Changes:
@@ -35,4 +43,4 @@ Change Log
3543

3644
### Additional Details
3745

38-
Original commit [509591f](https://github.com/Polidea/ios-class-guard/commit/509591f78f37905913ba0cbd832e5e4f7b925a8a) was corrupted. This was fixed by modifying it and rewriting the commit history after it. The new repaired commit is 496ae586. The fork point in the new history is 94121d10.
46+
Original commit [509591f](https://github.com/Polidea/ios-class-guard/commit/509591f78f37905913ba0cbd832e5e4f7b925a8a) was corrupted. This was fixed by modifying it and rewriting the commit history after it. The new repaired commit is 496ae586. The fork point in the new history is 94121d10.

Makefile

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
# See LICENSE.txt for licensing information
33

44
PROJECT_NAME=PPiOS-Rename
5-
VERSION=v1.0.0
5+
NUMERIC_VERSION=1.0.1
6+
VERSION=v$(NUMERIC_VERSION)
67
PROGRAM_NAME=ppios-rename
78

89
BUILD_DIR=build
910
PROGRAM="$(shell pwd)/$(BUILD_DIR)/Build/Products/Release/$(PROGRAM_NAME)"
11+
README="$(shell pwd)/README.md"
1012
GIT_CMD=git rev-parse --short HEAD
1113
GIT_HASH_CHECK=$(GIT_CMD) &> /dev/null
1214
GIT_HASH=$(shell $(GIT_HASH_CHECK) && $(GIT_CMD) | sed 's,^,-,')
@@ -41,12 +43,14 @@ $(WORKSPACE) Pods Podfile.lock: Podfile
4143

4244
.PHONY: program
4345
program: Pods
44-
xctool $(XCODEBUILD_OPTIONS) build
46+
# Merged the separate build and test steps: xcodebuild was rebuilding the product for 'test'. It
47+
# appears that Xcode 8 provides test-without-building option for xcodebuild, and once we move to
48+
# that version we should be able to separate these two parts again.
49+
xctool $(XCODEBUILD_OPTIONS) CLASS_DUMP_VERSION=$(NUMERIC_VERSION) build test
4550

4651
.PHONY: check
47-
check: program
48-
xctool $(XCODEBUILD_OPTIONS) test
49-
( cd test/tests ; PPIOS_RENAME=$(PROGRAM) ./test-suite.sh )
52+
check:
53+
( cd test/tests ; PPIOS_RENAME=$(PROGRAM) README=$(README) NUMERIC_VERSION=$(NUMERIC_VERSION) ./test-suite.sh )
5054

5155
.PHONY: archive
5256
archive: package-check distclean archive-dir program check $(DIST_PACKAGE)

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ Supported Platforms
4444
-------------------
4545
*PPiOS-Rename* supports apps developed for:
4646

47-
* iOS 9, 10 beta
48-
* iPhone, iPod Touch, and iPad
49-
* ARM 32-bit, 64-bit, and x86 simulator
47+
* iOS 9, iOS 10
48+
* iPhone, iPod touch, and iPad
49+
* ARM 32-bit, ARM 64-bit, and x86 Simulator
5050

5151
Using:
5252

53-
* Xcode 7, Xcode 8 beta
54-
* OS X El Capitan
53+
* Xcode 7, Xcode 8
54+
* OS X El Capitan, macOS Sierra
5555
* Objective-C
5656

5757

@@ -100,9 +100,9 @@ Once you are comfortable using *PPiOS-Rename,* it can be easier to use if you in
100100

101101
8. Rename the phase from "Run Script" to "Analyze Binary".
102102

103-
9. Where it says "Type a script or ...", paste the following script, adjusting for the correct path:
103+
9. Expand the phase, and where it says "Type a script or ...", paste the following script, adjusting for the correct path:
104104

105-
PATH="${PATH}:${HOME}/Downloads/PPiOS-Rename-v1.0.0"
105+
PATH="${PATH}:${HOME}/Downloads/PPiOS-Rename-v1.0.1"
106106
[[ "${SDKROOT}" == *iPhoneSimulator*.sdk* ]] && sdk="${SDKROOT}" || sdk="${CORRESPONDING_SIMULATOR_SDK_DIR}"
107107
ppios-rename --analyze --sdk-root "${sdk}" "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"
108108

@@ -112,15 +112,15 @@ Once you are comfortable using *PPiOS-Rename,* it can be easier to use if you in
112112

113113
12. Duplicate the original target again, and rename it to "Apply Renaming to <original-target-name>".
114114

115-
13. Delete all of the steps in this target.
115+
13. Delete all of the build phases in this target.
116116

117117
14. If there are any target dependencies, delete them as well.
118118

119119
15. Add a script phase, and rename it to "Apply Renaming to Sources" (this should be the only real action for this target).
120120

121121
16. Paste the following script, again adjusting for the correct path:
122122

123-
PATH="${PATH}:${HOME}/Downloads/PPiOS-Rename-v1.0.0"
123+
PATH="${PATH}:${HOME}/Downloads/PPiOS-Rename-v1.0.1"
124124
ppios-rename --obfuscate-sources
125125

126126
17. Edit the scheme (or add one) for this new target, renaming the scheme to "Apply Renaming to <original-scheme-name>".
@@ -347,12 +347,12 @@ Note that `nm` will not work properly after stripping symbols from your binary.
347347
#### Reversing obfuscation in crash dumps
348348
*PPiOS-Rename* lets you reverse the process of obfuscation for crash dump files. This is important so you can find the original classes and methods involved in a crash. It does this by using the information from a map file (e.g. `symbols.map`) to modify the crash dump text, replacing the obfuscated symbols with the original names. For example:
349349

350-
ppios-rename --translate-crashdump --symbols-map path/to/symbols_1.0.0.map path/to/crashdump path/to/output
350+
ppios-rename --translate-crashdump --symbols-map path/to/symbols_1.0.1.map path/to/crashdump path/to/output
351351

352352
#### Reversing obfuscation in dSYMs
353353
*PPiOS-Rename* lets you reverse the process of obfuscation for automatic crash reporting tools such as HockeyApp, Crashlytics, Fabric, BugSense/Splunk Mint, or Crittercism. It does this by using the information from a map file (e.g. `symbols.map`) to generate a "reverse dSYM" file that has the non-obfuscated symbol names in it. For example:
354354

355-
ppios-rename --translate-dsym --symbols-map path/to/symbols_1.0.0.map path/to/input.dSYM path/to/output.dSYM
355+
ppios-rename --translate-dsym --symbols-map path/to/symbols_1.0.1.map path/to/input.dSYM path/to/output.dSYM
356356

357357
The resulting dSYM file can be uploaded to e.g. HockeyApp.
358358

Source/CDClassDump.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010

1111
#import "CDFile.h" // For CDArch
1212

13-
#define CLASS_DUMP_VERSION "1.1.0"
14-
1513
@class CDFile;
1614
@class CDTypeController;
1715
@class CDVisitor;

ppios-rename.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1339,6 +1339,7 @@
13391339
CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = NO;
13401340
CLANG_WARN_UNREACHABLE_CODE = YES;
13411341
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1342+
CLASS_DUMP_VERSION = "$(CLASS_DUMP_VERSION)";
13421343
COPY_PHASE_STRIP = NO;
13431344
ENABLE_STRICT_OBJC_MSGSEND = YES;
13441345
ENABLE_TESTABILITY = YES;
@@ -1351,6 +1352,7 @@
13511352
"DEBUG=1",
13521353
"$(inherited)",
13531354
);
1355+
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "CLASS_DUMP_VERSION=\\\"$(CLASS_DUMP_VERSION)\\\"";
13541356
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
13551357
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
13561358
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -1394,12 +1396,14 @@
13941396
CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = NO;
13951397
CLANG_WARN_UNREACHABLE_CODE = YES;
13961398
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1399+
CLASS_DUMP_VERSION = "$(CLASS_DUMP_VERSION)";
13971400
COPY_PHASE_STRIP = YES;
13981401
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
13991402
ENABLE_STRICT_OBJC_MSGSEND = YES;
14001403
GCC_C_LANGUAGE_STANDARD = gnu99;
14011404
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
14021405
GCC_NO_COMMON_BLOCKS = YES;
1406+
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "CLASS_DUMP_VERSION=\\\"$(CLASS_DUMP_VERSION)\\\"";
14031407
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
14041408
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
14051409
GCC_WARN_ABOUT_RETURN_TYPE = YES;

test/tests/check-documentation.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/bin/bash
2+
3+
#Copyright 2016 PreEmptive Solutions, LLC
4+
#See LICENSE.txt for licensing information
5+
6+
targetAppName=BoxSim
7+
thisDirectory="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8+
testRoot="$(dirname "${thisDirectory}")"
9+
. "${testRoot}/tests/common.sh"
10+
11+
oneTimeSetUp() {
12+
checkForPPiOSRename
13+
}
14+
15+
oneTimeTearDown() {
16+
return
17+
}
18+
19+
setUp() {
20+
return
21+
}
22+
23+
tearDown() {
24+
return
25+
}
26+
27+
TEST "PPiOS-Rename version referenced in README.md is current"
28+
verify test -f "${README}"
29+
verifyFails test -z "${NUMERIC_VERSION}"
30+
31+
# Find all of the version numbers "x.y.z" in the document, and put them on separate lines.
32+
# The two lines that follow that have trailing backslashes are newlines embedded in the sed
33+
# replacement text, do not indent or otherwise alter.
34+
versionNumbers=$(cat "${README}" | sed -n 's,\([1-9][0-9]*[.][0-9][0-9]*\([.][0-9][0-9]*\)*\),\
35+
\1\
36+
,pg' | grep '[1-9][0-9]*[.][0-9][0-9]*\([.][0-9][0-9]*\)*')
37+
38+
# Remove all of the instances of the expected version number
39+
badVersionNumbers="$(echo "${versionNumbers}" | grep -v "$(echo "^${NUMERIC_VERSION}\$" | sed 's,[.],[.],g')")"
40+
41+
# Verify that nothing is left
42+
verify test -z "${badVersionNumbers}"
43+
44+
report

test/tests/test-new-options.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ tearDown() {
4949
checkVersion() {
5050
verify grep PreEmptive "${lastRun}"
5151
verify grep -i version "${lastRun}"
52-
verify grep '[1-9][0-9]*.[0-9]*.[0-9]*' "${lastRun}"
52+
verify grep '[1-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*' "${lastRun}"
5353
}
5454

5555
checkUsage() {

test/tests/test-suite.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ type "${PPIOS_RENAME}" | sed 's,.* is , ,'
1414
./test-new-options.sh
1515
./test-obfuscate-sources.sh
1616
./test-post-obfuscation-behavior.sh
17+
./check-documentation.sh

0 commit comments

Comments
 (0)