Skip to content

Commit 151003d

Browse files
lirazmats-claassen
authored andcommitted
Memory and stability fixes to XLForm (#1045)
* selectorCell display repair Unable to display when value than apples first selectorOptions * fixed crash * fixed memory leaks * Cell disappears while inline picker is open * Fixes crash on update * check object object equal * codereview * fixed memory leaks * fixed memory leaks [2] * updated logic * fixed memory leaks * fix for crash #1043 * fix for crash #1044 * fix for issue #1044 * fix for issue #1044 * fixed mistake * fixed observation if lib uses in drawer controller * fixed kvo crash * reverted last fix * cleanup * fixed kvo * fix for crash #1043 * reverted #1045 (comment) * reverted #948 * fixed firstResponder logic * codereview in Descriptors * codereview
1 parent b5bdda8 commit 151003d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+842
-683
lines changed

.gitignore

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,5 @@ DerivedData
1919

2020
#CocoaPods
2121
Pods
22-
Tests/Pods
23-
Tests/Podfile.lock
24-
Examples/Objective-C/Podfile.lock
25-
Examples/Swift/Podfile.lock
22+
Podfile.lock
23+
*.xcworkspace

Examples/Objective-C/Examples/Formatters/FormattersViewController.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
// http://stackoverflow.com/questions/12580162/nsstring-to-nsdate-conversion-issue
2222
@interface CurrencyFormatter : NSNumberFormatter
2323

24-
@property (readonly) NSDecimalNumberHandler *roundingBehavior;
24+
@property (readonly, strong) NSDecimalNumberHandler *roundingBehavior;
2525

2626
@end
2727

@@ -117,4 +117,4 @@ -(id)init
117117

118118
}
119119

120-
@end
120+
@end

Examples/Objective-C/Podfile.lock

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ PODS:
4343
- XLData/RemoteDataStore (2.0.0):
4444
- XLData/CoreRemote
4545
- XLData/DataStore
46-
- XLForm (4.0.0)
46+
- XLForm (4.0.1)
4747

4848
DEPENDENCIES:
4949
- AFNetworking (~> 2.0)
@@ -53,12 +53,19 @@ DEPENDENCIES:
5353
- XLData (from `https://github.com/xmartlabs/XLData.git`, commit `1f9019b56242a2019c7f7e11ec4ef823c397ebcf`)
5454
- XLForm (from `../../`)
5555

56+
SPEC REPOS:
57+
https://github.com/cocoapods/specs.git:
58+
- AFNetworking
59+
- AXRatingView
60+
- JVFloatLabeledTextField
61+
- SHSPhoneComponent
62+
5663
EXTERNAL SOURCES:
5764
XLData:
5865
:commit: 1f9019b56242a2019c7f7e11ec4ef823c397ebcf
5966
:git: https://github.com/xmartlabs/XLData.git
6067
XLForm:
61-
:path: ../../
68+
:path: "../../"
6269

6370
CHECKOUT OPTIONS:
6471
XLData:
@@ -71,8 +78,8 @@ SPEC CHECKSUMS:
7178
JVFloatLabeledTextField: 58a3a32cfb800e5b224f676987e7c13abf50a14d
7279
SHSPhoneComponent: 4cec0653a150ad63cbc52b0c8b29ce2d3c9c26f0
7380
XLData: df725c6179e2e0c80bf56a1ecad9afd169707a6d
74-
XLForm: 04110197c12187dd28a6c7295d3d8b95f4fdb4de
81+
XLForm: b8d47a9a00fb6166981cb40de7169d70d611e9be
7582

7683
PODFILE CHECKSUM: 64fbcd03a2c13762b2c18e3938cc8008807937c9
7784

78-
COCOAPODS: 1.3.1
85+
COCOAPODS: 1.6.0

Examples/Objective-C/XLForm.xcodeproj/project.pbxproj

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,6 @@
486486
2850C5F418D0F706002B7D0A /* Sources */,
487487
2850C5F518D0F706002B7D0A /* Frameworks */,
488488
2850C5F618D0F706002B7D0A /* Resources */,
489-
32EB30E0A90A4E91864B1D3C /* [CP] Embed Pods Frameworks */,
490489
DE3D12F5596780A66C6C3D4A /* [CP] Copy Pods Resources */,
491490
);
492491
buildRules = (
@@ -504,7 +503,7 @@
504503
2850C5F018D0F706002B7D0A /* Project object */ = {
505504
isa = PBXProject;
506505
attributes = {
507-
LastUpgradeCheck = 0900;
506+
LastUpgradeCheck = 0940;
508507
ORGANIZATIONNAME = Xmartlabs;
509508
};
510509
buildConfigurationList = 2850C5F318D0F706002B7D0A /* Build configuration list for PBXProject "XLForm" */;
@@ -542,37 +541,22 @@
542541
/* End PBXResourcesBuildPhase section */
543542

544543
/* Begin PBXShellScriptBuildPhase section */
545-
32EB30E0A90A4E91864B1D3C /* [CP] Embed Pods Frameworks */ = {
546-
isa = PBXShellScriptBuildPhase;
547-
buildActionMask = 2147483647;
548-
files = (
549-
);
550-
inputPaths = (
551-
);
552-
name = "[CP] Embed Pods Frameworks";
553-
outputPaths = (
554-
);
555-
runOnlyForDeploymentPostprocessing = 0;
556-
shellPath = /bin/sh;
557-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XLForm/Pods-XLForm-frameworks.sh\"\n";
558-
showEnvVarsInLog = 0;
559-
};
560544
DE3D12F5596780A66C6C3D4A /* [CP] Copy Pods Resources */ = {
561545
isa = PBXShellScriptBuildPhase;
562546
buildActionMask = 2147483647;
563547
files = (
564548
);
565549
inputPaths = (
566-
"${SRCROOT}/Pods/Target Support Files/Pods-XLForm/Pods-XLForm-resources.sh",
550+
"${PODS_ROOT}/Target Support Files/Pods-XLForm/Pods-XLForm-resources.sh",
567551
"${PODS_ROOT}/../../../XLForm/XLForm.bundle",
568552
);
569553
name = "[CP] Copy Pods Resources";
570554
outputPaths = (
571-
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}",
555+
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/XLForm.bundle",
572556
);
573557
runOnlyForDeploymentPostprocessing = 0;
574558
shellPath = /bin/sh;
575-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XLForm/Pods-XLForm-resources.sh\"\n";
559+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-XLForm/Pods-XLForm-resources.sh\"\n";
576560
showEnvVarsInLog = 0;
577561
};
578562
EBE0335CCC7588D83B89A92A /* [CP] Check Pods Manifest.lock */ = {
@@ -668,12 +652,14 @@
668652
CLANG_WARN_BOOL_CONVERSION = YES;
669653
CLANG_WARN_COMMA = YES;
670654
CLANG_WARN_CONSTANT_CONVERSION = YES;
655+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
671656
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
672657
CLANG_WARN_EMPTY_BODY = YES;
673658
CLANG_WARN_ENUM_CONVERSION = YES;
674659
CLANG_WARN_INFINITE_RECURSION = YES;
675660
CLANG_WARN_INT_CONVERSION = YES;
676661
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
662+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
677663
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
678664
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
679665
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -718,12 +704,14 @@
718704
CLANG_WARN_BOOL_CONVERSION = YES;
719705
CLANG_WARN_COMMA = YES;
720706
CLANG_WARN_CONSTANT_CONVERSION = YES;
707+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
721708
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
722709
CLANG_WARN_EMPTY_BODY = YES;
723710
CLANG_WARN_ENUM_CONVERSION = YES;
724711
CLANG_WARN_INFINITE_RECURSION = YES;
725712
CLANG_WARN_INT_CONVERSION = YES;
726713
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
714+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
727715
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
728716
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
729717
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;

Examples/Objective-C/XLForm/Images.xcassets/AppIcon.appiconset/Contents.json

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
{
22
"images" : [
3+
{
4+
"idiom" : "iphone",
5+
"size" : "20x20",
6+
"scale" : "2x"
7+
},
8+
{
9+
"idiom" : "iphone",
10+
"size" : "20x20",
11+
"scale" : "3x"
12+
},
313
{
414
"idiom" : "iphone",
515
"size" : "29x29",
@@ -48,6 +58,16 @@
4858
"size" : "60x60",
4959
"scale" : "3x"
5060
},
61+
{
62+
"idiom" : "ipad",
63+
"size" : "20x20",
64+
"scale" : "1x"
65+
},
66+
{
67+
"idiom" : "ipad",
68+
"size" : "20x20",
69+
"scale" : "2x"
70+
},
5171
{
5272
"idiom" : "ipad",
5373
"size" : "29x29",
@@ -101,8 +121,13 @@
101121
"scale" : "2x"
102122
},
103123
{
104-
"idiom" : "car",
105-
"size" : "120x120",
124+
"idiom" : "ipad",
125+
"size" : "83.5x83.5",
126+
"scale" : "2x"
127+
},
128+
{
129+
"idiom" : "ios-marketing",
130+
"size" : "1024x1024",
106131
"scale" : "1x"
107132
},
108133
{
@@ -142,8 +167,15 @@
142167
"size" : "44x44",
143168
"idiom" : "watch",
144169
"scale" : "2x",
145-
"role" : "longLook",
146-
"subtype" : "42mm"
170+
"role" : "appLauncher",
171+
"subtype" : "40mm"
172+
},
173+
{
174+
"size" : "50x50",
175+
"idiom" : "watch",
176+
"scale" : "2x",
177+
"role" : "appLauncher",
178+
"subtype" : "44mm"
147179
},
148180
{
149181
"size" : "86x86",
@@ -158,6 +190,30 @@
158190
"scale" : "2x",
159191
"role" : "quickLook",
160192
"subtype" : "42mm"
193+
},
194+
{
195+
"size" : "108x108",
196+
"idiom" : "watch",
197+
"scale" : "2x",
198+
"role" : "quickLook",
199+
"subtype" : "44mm"
200+
},
201+
{
202+
"idiom" : "watch-marketing",
203+
"size" : "1024x1024",
204+
"scale" : "1x"
205+
},
206+
{
207+
"idiom" : "car",
208+
"size" : "120x120",
209+
"scale" : "1x"
210+
},
211+
{
212+
"size" : "44x44",
213+
"idiom" : "watch",
214+
"scale" : "2x",
215+
"role" : "longLook",
216+
"subtype" : "42mm"
161217
}
162218
],
163219
"info" : {

Tests/XLForm Tests.xcodeproj/project.pbxproj

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@
150150
28657A361990879200CE8180 /* Sources */,
151151
28657A371990879200CE8180 /* Frameworks */,
152152
28657A381990879200CE8180 /* Resources */,
153-
51F3E228D166F2E8BF8C889E /* [CP] Embed Pods Frameworks */,
154153
7E96395A3A94BDD9487AE471 /* [CP] Copy Pods Resources */,
155154
);
156155
buildRules = (
@@ -217,37 +216,22 @@
217216
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";
218217
showEnvVarsInLog = 0;
219218
};
220-
51F3E228D166F2E8BF8C889E /* [CP] Embed Pods Frameworks */ = {
221-
isa = PBXShellScriptBuildPhase;
222-
buildActionMask = 2147483647;
223-
files = (
224-
);
225-
inputPaths = (
226-
);
227-
name = "[CP] Embed Pods Frameworks";
228-
outputPaths = (
229-
);
230-
runOnlyForDeploymentPostprocessing = 0;
231-
shellPath = /bin/sh;
232-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XLForm Tests/Pods-XLForm Tests-frameworks.sh\"\n";
233-
showEnvVarsInLog = 0;
234-
};
235219
7E96395A3A94BDD9487AE471 /* [CP] Copy Pods Resources */ = {
236220
isa = PBXShellScriptBuildPhase;
237221
buildActionMask = 2147483647;
238222
files = (
239223
);
240224
inputPaths = (
241-
"${SRCROOT}/Pods/Target Support Files/Pods-XLForm Tests/Pods-XLForm Tests-resources.sh",
225+
"${PODS_ROOT}/Target Support Files/Pods-XLForm Tests/Pods-XLForm Tests-resources.sh",
242226
"${PODS_ROOT}/../../XLForm/XLForm.bundle",
243227
);
244228
name = "[CP] Copy Pods Resources";
245229
outputPaths = (
246-
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}",
230+
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/XLForm.bundle",
247231
);
248232
runOnlyForDeploymentPostprocessing = 0;
249233
shellPath = /bin/sh;
250-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-XLForm Tests/Pods-XLForm Tests-resources.sh\"\n";
234+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-XLForm Tests/Pods-XLForm Tests-resources.sh\"\n";
251235
showEnvVarsInLog = 0;
252236
};
253237
/* End PBXShellScriptBuildPhase section */

XLForm.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'XLForm'
3-
s.version = '4.0.0'
3+
s.version = '4.0.1'
44
s.license = { :type => 'MIT' }
55
s.summary = 'XLForm is the most flexible and powerful iOS library to create dynamic table-view forms.'
66
s.description = <<-DESC

XLForm.xcodeproj/project.pbxproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@
414414
E267FD171BE8048900F86B42 /* Project object */ = {
415415
isa = PBXProject;
416416
attributes = {
417-
LastUpgradeCheck = 0900;
417+
LastUpgradeCheck = 0940;
418418
ORGANIZATIONNAME = XLForm;
419419
TargetAttributes = {
420420
E267FD1F1BE8048900F86B42 = {
@@ -509,12 +509,14 @@
509509
CLANG_WARN_BOOL_CONVERSION = YES;
510510
CLANG_WARN_COMMA = YES;
511511
CLANG_WARN_CONSTANT_CONVERSION = YES;
512+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
512513
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
513514
CLANG_WARN_EMPTY_BODY = YES;
514515
CLANG_WARN_ENUM_CONVERSION = YES;
515516
CLANG_WARN_INFINITE_RECURSION = YES;
516517
CLANG_WARN_INT_CONVERSION = YES;
517518
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
519+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
518520
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
519521
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
520522
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -564,12 +566,14 @@
564566
CLANG_WARN_BOOL_CONVERSION = YES;
565567
CLANG_WARN_COMMA = YES;
566568
CLANG_WARN_CONSTANT_CONVERSION = YES;
569+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
567570
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
568571
CLANG_WARN_EMPTY_BODY = YES;
569572
CLANG_WARN_ENUM_CONVERSION = YES;
570573
CLANG_WARN_INFINITE_RECURSION = YES;
571574
CLANG_WARN_INT_CONVERSION = YES;
572575
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
576+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
573577
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
574578
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
575579
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>

XLForm.xcodeproj/xcshareddata/xcschemes/XLForm.xcscheme

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0900"
3+
LastUpgradeVersion = "0940"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,7 +26,6 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
3231
</Testables>
@@ -37,7 +36,6 @@
3736
buildConfiguration = "Debug"
3837
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
3938
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
40-
language = ""
4139
launchStyle = "0"
4240
useCustomWorkingDirectory = "NO"
4341
ignoresPersistentStateOnLaunch = "NO"

0 commit comments

Comments
 (0)