From bcb91f0f8ee3961a54c69265fe412eddf9342237 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Mon, 31 Aug 2015 17:22:12 -0600 Subject: [PATCH 01/15] Include magnetic field strength as property in CCMagneticDeclination class (probably should name that class now that we're including more than just the declination...) --- ObjectiveWMM/CCMagneticDeclination.h | 3 ++- ObjectiveWMM/CCMagneticDeclination.m | 25 ++++++++++++++++++------- ObjectiveWMM/CCMagneticModel.m | 2 +- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/ObjectiveWMM/CCMagneticDeclination.h b/ObjectiveWMM/CCMagneticDeclination.h index a2eed41..7096d4e 100644 --- a/ObjectiveWMM/CCMagneticDeclination.h +++ b/ObjectiveWMM/CCMagneticDeclination.h @@ -11,12 +11,13 @@ @interface CCMagneticDeclination : NSObject -- (id) initWithCoordinate:(CLLocationCoordinate2D)coordinate elevation:(CLLocationDistance)elevation date:(NSDate *)date magneticDeclination:(CLLocationDirection)magneticDeclination; +- (id) initWithCoordinate:(CLLocationCoordinate2D)coordinate elevation:(CLLocationDistance)elevation date:(NSDate *)date magneticDeclination:(CLLocationDirection)magneticDeclination fieldStrength:(double)fieldStrength; @property (readonly, nonatomic) CLLocationCoordinate2D coordinate; @property (readonly, nonatomic) CLLocationDistance elevation; @property (readonly, nonatomic, strong) NSDate *date; @property (readonly, nonatomic) CLLocationDirection magneticDeclination; +@property (readonly, nonatomic) double fieldStrength; // in μT - (CLLocationDirection) trueHeadingFromMagneticHeading:(CLLocationDirection)magneticHeading; - (CLLocationDirection) magneticHeadingFromTrueHeading:(CLLocationDirection)trueHeading; diff --git a/ObjectiveWMM/CCMagneticDeclination.m b/ObjectiveWMM/CCMagneticDeclination.m index 3010455..64344f5 100644 --- a/ObjectiveWMM/CCMagneticDeclination.m +++ b/ObjectiveWMM/CCMagneticDeclination.m @@ -18,29 +18,38 @@ @interface CCMagneticDeclination() @property (readwrite, nonatomic) CLLocationDistance elevation; @property (readwrite, nonatomic, strong) NSDate *date; @property (readwrite, nonatomic) CLLocationDirection magneticDeclination; +@property (readwrite, nonatomic) double fieldStrength; @end @implementation CCMagneticDeclination -- (id) initWithCoordinate:(CLLocationCoordinate2D)coordinate elevation:(CLLocationDistance)elevation date:(NSDate *)date magneticDeclination:(CLLocationDirection)magneticDeclination { +- (id) initWithCoordinate:(CLLocationCoordinate2D)coordinate elevation:(CLLocationDistance)elevation date:(NSDate *)date magneticDeclination:(CLLocationDirection)magneticDeclination fieldStrength:(double)fieldStrength { self = [super init]; if (self) { - self.coordinate = coordinate; - self.elevation = elevation; - self.date = date; - self.magneticDeclination = magneticDeclination; + _coordinate = coordinate; + _elevation = elevation; + _date = date; + _magneticDeclination = magneticDeclination; + _fieldStrength = fieldStrength; } return self; } +- (NSString *) description { + + NSString *desc = [NSString stringWithFormat:@"%1.3f°,%1.3f° / %1.2fm at %@: decl: %1.2f° F: %1.2fμT", self.coordinate.latitude, self.coordinate.longitude, self.elevation, self.date.description, self.magneticDeclination, self.fieldStrength]; + + return desc; +} + #pragma mark - NSCopying - (id)copyWithZone:(NSZone *)zone { - CCMagneticDeclination *magneticDeclination = [[CCMagneticDeclination allocWithZone:zone] initWithCoordinate:self.coordinate elevation:self.elevation date:self.date magneticDeclination:self.magneticDeclination]; + CCMagneticDeclination *magneticDeclination = [[CCMagneticDeclination allocWithZone:zone] initWithCoordinate:self.coordinate elevation:self.elevation date:self.date magneticDeclination:self.magneticDeclination fieldStrength:self.fieldStrength]; return magneticDeclination; } @@ -53,8 +62,9 @@ - (id)initWithCoder:(NSCoder *)aDecoder { CLLocationDistance elevation = [aDecoder decodeDoubleForKey:@"elevation"]; NSDate *date = [aDecoder decodeObjectForKey:@"date"]; CLLocationDirection magneticDeclination = [aDecoder decodeDoubleForKey:@"magneticDeclination"]; + double fieldStrength = [aDecoder decodeDoubleForKey:@"fieldStrength"]; - self = [self initWithCoordinate:coord elevation:elevation date:date magneticDeclination:magneticDeclination]; + self = [self initWithCoordinate:coord elevation:elevation date:date magneticDeclination:magneticDeclination fieldStrength:fieldStrength]; if (!self) { return nil; } @@ -69,6 +79,7 @@ - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeDouble:self.elevation forKey:@"elevation"]; [aCoder encodeObject:self.date forKey:@"date"]; [aCoder encodeDouble:self.magneticDeclination forKey:@"magneticDeclination"]; + [aCoder encodeDouble:self.fieldStrength forKey:@"fieldStrength"]; } #pragma mark - Public diff --git a/ObjectiveWMM/CCMagneticModel.m b/ObjectiveWMM/CCMagneticModel.m index f6d85be..b1d3389 100644 --- a/ObjectiveWMM/CCMagneticModel.m +++ b/ObjectiveWMM/CCMagneticModel.m @@ -139,7 +139,7 @@ - (CCMagneticDeclination *) declinationForCoordinate:(CLLocationCoordinate2D)coo MAG_CalculateGridVariation(coordGeodetic, &geoMagneticElements); - CCMagneticDeclination *result = [[CCMagneticDeclination alloc] initWithCoordinate:coordinate elevation:elevation date:date magneticDeclination:geoMagneticElements.Decl]; + CCMagneticDeclination *result = [[CCMagneticDeclination alloc] initWithCoordinate:coordinate elevation:elevation date:date magneticDeclination:geoMagneticElements.Decl fieldStrength:geoMagneticElements.F/1000.0]; return result; } From 74cf8fc559bc61b71d3538dce5e4654d495c0d3b Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Mon, 7 Sep 2015 11:23:38 -0600 Subject: [PATCH 02/15] Target iOS 8.1 and above --- ObjectiveWMM.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index 40504c4..43a3342 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -396,7 +396,7 @@ ); INFOPLIST_FILE = "$(SRCROOT)/ObjectiveWMM/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; @@ -421,7 +421,7 @@ ); INFOPLIST_FILE = "$(SRCROOT)/ObjectiveWMM/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; From d6f55e275e67cc22466c61c5a676149b6ed08df2 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Tue, 15 Sep 2015 14:34:28 -0600 Subject: [PATCH 03/15] Fix compiler warnings for printf statements. --- ObjectiveWMM/WMM/GeomagnetismLibrary.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ObjectiveWMM/WMM/GeomagnetismLibrary.c b/ObjectiveWMM/WMM/GeomagnetismLibrary.c index de9d6f3..393a145 100644 --- a/ObjectiveWMM/WMM/GeomagnetismLibrary.c +++ b/ObjectiveWMM/WMM/GeomagnetismLibrary.c @@ -1208,7 +1208,7 @@ CALLS: MAG_DMSstringToDegree(buffer, &CoordGeodetic->lambda); (The program uses sscanf(buffer, "%d/%d/%d", &MagneticDate->Month, &MagneticDate->Day, &MagneticDate->Year); if(!MAG_DateToYear(MagneticDate, Error_Message)) { - printf(Error_Message); + printf("%s", Error_Message); printf("\nPlease re-enter Date in MM/DD/YYYY or MM DD YYYY format, or as a decimal year\n"); fgets(buffer, 40, stdin); i = 0; @@ -1232,7 +1232,7 @@ CALLS: MAG_DMSstringToDegree(buffer, &CoordGeodetic->lambda); (The program uses { if(!MAG_DateToYear(MagneticDate, Error_Message)) { - printf(Error_Message); + printf("%s", Error_Message); strcpy(buffer, ""); printf("\nError encountered, please re-enter Date in MM/DD/YYYY or MM DD YYYY format, or as a decimal year\n"); fgets(buffer, 40, stdin); From 379fc3d0cf0a2fb78c5617ae5ce0a687590fec10 Mon Sep 17 00:00:00 2001 From: Chris Hobbs Date: Sun, 15 Nov 2015 14:37:25 -0800 Subject: [PATCH 04/15] fixed error message print warnings --- ObjectiveWMM/WMM/GeomagnetismLibrary.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ObjectiveWMM/WMM/GeomagnetismLibrary.c b/ObjectiveWMM/WMM/GeomagnetismLibrary.c index de9d6f3..393a145 100644 --- a/ObjectiveWMM/WMM/GeomagnetismLibrary.c +++ b/ObjectiveWMM/WMM/GeomagnetismLibrary.c @@ -1208,7 +1208,7 @@ CALLS: MAG_DMSstringToDegree(buffer, &CoordGeodetic->lambda); (The program uses sscanf(buffer, "%d/%d/%d", &MagneticDate->Month, &MagneticDate->Day, &MagneticDate->Year); if(!MAG_DateToYear(MagneticDate, Error_Message)) { - printf(Error_Message); + printf("%s", Error_Message); printf("\nPlease re-enter Date in MM/DD/YYYY or MM DD YYYY format, or as a decimal year\n"); fgets(buffer, 40, stdin); i = 0; @@ -1232,7 +1232,7 @@ CALLS: MAG_DMSstringToDegree(buffer, &CoordGeodetic->lambda); (The program uses { if(!MAG_DateToYear(MagneticDate, Error_Message)) { - printf(Error_Message); + printf("%s", Error_Message); strcpy(buffer, ""); printf("\nError encountered, please re-enter Date in MM/DD/YYYY or MM DD YYYY format, or as a decimal year\n"); fgets(buffer, 40, stdin); From 8f1e1a9d2a3fadbe71839feb3234526d7129216d Mon Sep 17 00:00:00 2001 From: Chris Hobbs Date: Sun, 1 Nov 2015 23:12:10 -0800 Subject: [PATCH 05/15] non bundle specific resource loading --- ObjectiveWMM/CCMagneticModel.m | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ObjectiveWMM/CCMagneticModel.m b/ObjectiveWMM/CCMagneticModel.m index f6d85be..59d43a8 100644 --- a/ObjectiveWMM/CCMagneticModel.m +++ b/ObjectiveWMM/CCMagneticModel.m @@ -64,10 +64,7 @@ - (id) init { int epochs = 1; int numTerms, nMax = 0; - NSBundle *bundle = [NSBundle bundleWithIdentifier:@"com.crookneckconsulting.ObjectiveWMM"]; - NSString *path = [bundle pathForResource:@"WMM" ofType:@"COF"]; - - char *filename = (char *) [path cStringUsingEncoding:NSUTF8StringEncoding]; + char *filename = (char *) getPathForResource("WMM", "COF"); MAG_robustReadMagModels(filename, &_magneticModels, epochs); From 260a1e2a233ce2bc735ddd264de1b55706900a82 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Tue, 17 Nov 2015 09:40:51 -0700 Subject: [PATCH 06/15] - Updated project settings post Xcode project validation - Deployment target updated to iOS 8.1 and higher --- ObjectiveWMM.xcodeproj/project.pbxproj | 11 ++++++++--- ObjectiveWMM/Info.plist | 2 +- ObjectiveWMMTests/Info.plist | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index 43a3342..29c97de 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -217,7 +217,7 @@ DC71D8C8197E067F00C665CB /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0600; + LastUpgradeCheck = 0710; ORGANIZATIONNAME = "Crookneck Consulting LLC"; TargetAttributes = { DC71D8D0197E067F00C665CB = { @@ -318,6 +318,7 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -332,7 +333,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; METAL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -371,7 +372,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; METAL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -400,6 +401,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = ObjectiveWMM; PROVISIONING_PROFILE = ""; SKIP_INSTALL = YES; @@ -425,6 +427,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = ObjectiveWMM; PROVISIONING_PROFILE = ""; SKIP_INSTALL = YES; @@ -445,6 +448,7 @@ INFOPLIST_FILE = ObjectiveWMMTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; METAL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = ObjectiveWMMTests; }; name = Debug; @@ -459,6 +463,7 @@ INFOPLIST_FILE = ObjectiveWMMTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; METAL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = ObjectiveWMMTests; }; name = Release; diff --git a/ObjectiveWMM/Info.plist b/ObjectiveWMM/Info.plist index 2b1cc0f..778f82f 100644 --- a/ObjectiveWMM/Info.plist +++ b/ObjectiveWMM/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.crookneckconsulting.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/ObjectiveWMMTests/Info.plist b/ObjectiveWMMTests/Info.plist index 4ee8cde..dd37a8e 100644 --- a/ObjectiveWMMTests/Info.plist +++ b/ObjectiveWMMTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.crookneckconsulting.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName From a715ee9dc846d622b1b29e8eda02501e597485f7 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Mon, 7 Dec 2015 23:38:18 -0500 Subject: [PATCH 07/15] - update CodeSign identity - remove FRAMEWORK_SEARCH_PATHS (build setings) --- ObjectiveWMM.xcodeproj/project.pbxproj | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index 29c97de..919bbe1 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -385,22 +385,20 @@ DC71D8E8197E067F00C665CB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/ObjectiveWMM", - ); + FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = "$(SRCROOT)/ObjectiveWMM/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; - ONLY_ACTIVE_ARCH = NO; + ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = ObjectiveWMM; PROVISIONING_PROFILE = ""; @@ -411,16 +409,13 @@ DC71D8E9197E067F00C665CB /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/ObjectiveWMM", - ); + FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = "$(SRCROOT)/ObjectiveWMM/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.1; From 7c633cf8c2d96908e0f7d8e8278dde7dc2f38a77 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Sun, 13 Dec 2015 23:10:34 -0700 Subject: [PATCH 08/15] - Change to build all architectures --- ObjectiveWMM.xcodeproj/project.pbxproj | 2 +- .../stephen.xcuserdatad/xcschemes/xcschememanagement.plist | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index 919bbe1..dc4439d 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -398,7 +398,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; - ONLY_ACTIVE_ARCH = YES; + ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = ObjectiveWMM; PROVISIONING_PROFILE = ""; diff --git a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist index 3304ad5..87b3824 100644 --- a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ ObjectiveWMM.xcscheme orderHint - 0 + 3 SuppressBuildableAutocreation From 057274eb2190bdc22165ff377445353639298060 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Sun, 23 Oct 2016 14:09:49 -0600 Subject: [PATCH 09/15] - Update deployment target to 9.0 - Update project settings for Xcode 8.0 --- ObjectiveWMM.xcodeproj/project.pbxproj | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index dc4439d..0a95813 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -217,7 +217,7 @@ DC71D8C8197E067F00C665CB /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0710; + LastUpgradeCheck = 0800; ORGANIZATIONNAME = "Crookneck Consulting LLC"; TargetAttributes = { DC71D8D0197E067F00C665CB = { @@ -226,6 +226,7 @@ }; DC71D8DB197E067F00C665CB = { CreatedOnToolsVersion = 6.0; + DevelopmentTeam = RMH7P6Q49N; }; }; }; @@ -310,8 +311,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -321,6 +324,7 @@ ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -333,7 +337,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; METAL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -356,8 +360,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; @@ -366,13 +372,14 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; METAL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -386,7 +393,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; @@ -395,7 +402,6 @@ FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = "$(SRCROOT)/ObjectiveWMM/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; @@ -410,7 +416,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -418,7 +424,6 @@ FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = "$(SRCROOT)/ObjectiveWMM/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; @@ -432,6 +437,7 @@ DC71D8EB197E067F00C665CB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + DEVELOPMENT_TEAM = RMH7P6Q49N; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -451,6 +457,7 @@ DC71D8EC197E067F00C665CB /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + DEVELOPMENT_TEAM = RMH7P6Q49N; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", From de776e932a0be99a05f3d3ac6193f3267908dd94 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Sun, 11 Jun 2017 14:05:36 -0600 Subject: [PATCH 10/15] Updated .gitignore --- .gitignore | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index ec839c0..3945589 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,12 @@ # Xcode # +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated build/ +DerivedData/ + +## Various settings *.pbxuser !default.pbxuser *.mode1v3 @@ -9,10 +15,18 @@ build/ !default.mode2v3 *.perspectivev3 !default.perspectivev3 -xcuserdata -*.xccheckout +xcuserdata/ + +## Other *.moved-aside -DerivedData -*.hmap -*.ipa -*.xcuserstate +*.xccheckout +*.xcscmblueprint + +## SJT - do we need this still, given above lines? +# *.xcuserstate + +## Cocoapods +Pods + +## Subversion +.svn \ No newline at end of file From 71b696bf3ec6c6c60c590f6c7ae758a4fd32877e Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Sun, 11 Jun 2017 14:08:12 -0600 Subject: [PATCH 11/15] Updated .gitignore --- .gitignore | 3 ++- .../stephen.xcuserdatad/xcschemes/xcschememanagement.plist | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3945589..34c6c44 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,8 @@ DerivedData/ !default.mode2v3 *.perspectivev3 !default.perspectivev3 -xcuserdata/ +xcuserdata/* +*.xcuserdatad ## Other *.moved-aside diff --git a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist index 87b3824..2873682 100644 --- a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ ObjectiveWMM.xcscheme orderHint - 3 + 1 SuppressBuildableAutocreation From 6ed6144e16a991838417d3932dd7f5c21a94dca5 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Thu, 31 Aug 2017 16:15:30 -0600 Subject: [PATCH 12/15] Project settings updated for Xcode 9 --- ObjectiveWMM.xcodeproj/project.pbxproj | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index 0a95813..d57ab54 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -217,7 +217,7 @@ DC71D8C8197E067F00C665CB /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "Crookneck Consulting LLC"; TargetAttributes = { DC71D8D0197E067F00C665CB = { @@ -306,14 +306,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; 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_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 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_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + 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; @@ -355,14 +361,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; 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_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 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_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + 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; From f4a7f97b3d44c1eb5bc020c0425b86e33a944798 Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Wed, 20 Jun 2018 10:46:02 -0600 Subject: [PATCH 13/15] Xcode version updates and compiler warning fixes --- ObjectiveWMM.xcodeproj/project.pbxproj | 10 +++++++--- .../xcschemes/xcschememanagement.plist | 2 +- ObjectiveWMM/WMM/GeomagnetismLibrary.c | 6 +++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index d57ab54..990472b 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -217,7 +217,7 @@ DC71D8C8197E067F00C665CB /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0900; + LastUpgradeCheck = 0930; ORGANIZATIONNAME = "Crookneck Consulting LLC"; TargetAttributes = { DC71D8D0197E067F00C665CB = { @@ -310,12 +310,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 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_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -343,7 +345,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; METAL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -365,12 +367,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 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_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -391,7 +395,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; METAL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist index 2873682..87b3824 100644 --- a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ ObjectiveWMM.xcscheme orderHint - 1 + 3 SuppressBuildableAutocreation diff --git a/ObjectiveWMM/WMM/GeomagnetismLibrary.c b/ObjectiveWMM/WMM/GeomagnetismLibrary.c index 393a145..1a65c3a 100644 --- a/ObjectiveWMM/WMM/GeomagnetismLibrary.c +++ b/ObjectiveWMM/WMM/GeomagnetismLibrary.c @@ -1660,19 +1660,19 @@ CALLS : none if(!LegendreFunction) { MAG_Error(1); - return FALSE; + return (MAGtype_LegendreFunction *) FALSE; } LegendreFunction->Pcup = (double *) malloc((NumTerms + 1) * sizeof ( double)); if(LegendreFunction->Pcup == 0) { MAG_Error(1); - return FALSE; + return (MAGtype_LegendreFunction *) FALSE; } LegendreFunction->dPcup = (double *) malloc((NumTerms + 1) * sizeof ( double)); if(LegendreFunction->dPcup == 0) { MAG_Error(1); - return FALSE; + return (MAGtype_LegendreFunction *) FALSE; } return LegendreFunction; } /*MAGtype_LegendreFunction*/ From e6baa14e1f1368117708f147a861059a8c0d0acf Mon Sep 17 00:00:00 2001 From: Stephen Trainor Date: Sat, 18 Aug 2018 13:43:03 -0600 Subject: [PATCH 14/15] Tried to make this a static library, but then we can't load our resources from the bundle; changed back, but left OTHER_LDFLAGS setting ready for static at some point in the future. --- ObjectiveWMM.xcodeproj/project.pbxproj | 2 ++ .../stephen.xcuserdatad/xcschemes/xcschememanagement.plist | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ObjectiveWMM.xcodeproj/project.pbxproj b/ObjectiveWMM.xcodeproj/project.pbxproj index 990472b..c1743fa 100644 --- a/ObjectiveWMM.xcodeproj/project.pbxproj +++ b/ObjectiveWMM.xcodeproj/project.pbxproj @@ -421,6 +421,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; + OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = ObjectiveWMM; PROVISIONING_PROFILE = ""; @@ -443,6 +444,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; ONLY_ACTIVE_ARCH = NO; + OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = "com.crookneckconsulting.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = ObjectiveWMM; PROVISIONING_PROFILE = ""; diff --git a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist index 87b3824..922586a 100644 --- a/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ObjectiveWMM.xcodeproj/xcuserdata/stephen.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ ObjectiveWMM.xcscheme orderHint - 3 + 2 SuppressBuildableAutocreation From ab168e0fd84436301f1138cc2f8df304e2f0e1dc Mon Sep 17 00:00:00 2001 From: Christopher Hobbs Date: Wed, 19 Sep 2018 13:44:08 -0700 Subject: [PATCH 15/15] Xcode compiler warning fixes --- ObjectiveWMM/WMM/GeomagnetismLibrary.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ObjectiveWMM/WMM/GeomagnetismLibrary.c b/ObjectiveWMM/WMM/GeomagnetismLibrary.c index 1a65c3a..0e8536d 100644 --- a/ObjectiveWMM/WMM/GeomagnetismLibrary.c +++ b/ObjectiveWMM/WMM/GeomagnetismLibrary.c @@ -1710,7 +1710,7 @@ CALLS : none if(MagneticModel == NULL) { MAG_Error(2); - return FALSE; + return (MAGtype_MagneticModel *) FALSE; } MagneticModel->Main_Field_Coeff_G = (double *) malloc((NumTerms + 1) * sizeof ( double)); @@ -1718,7 +1718,7 @@ CALLS : none if(MagneticModel->Main_Field_Coeff_G == NULL) { MAG_Error(2); - return FALSE; + return (MAGtype_MagneticModel *) FALSE; } MagneticModel->Main_Field_Coeff_H = (double *) malloc((NumTerms + 1) * sizeof ( double)); @@ -1726,19 +1726,19 @@ CALLS : none if(MagneticModel->Main_Field_Coeff_H == NULL) { MAG_Error(2); - return FALSE; + return (MAGtype_MagneticModel *) FALSE; } MagneticModel->Secular_Var_Coeff_G = (double *) malloc((NumTerms + 1) * sizeof ( double)); if(MagneticModel->Secular_Var_Coeff_G == NULL) { MAG_Error(2); - return FALSE; + return (MAGtype_MagneticModel *) FALSE; } MagneticModel->Secular_Var_Coeff_H = (double *) malloc((NumTerms + 1) * sizeof ( double)); if(MagneticModel->Secular_Var_Coeff_H == NULL) { MAG_Error(2); - return FALSE; + return (MAGtype_MagneticModel *) FALSE; } MagneticModel->CoefficientFileEndDate = 0; MagneticModel->EditionDate = 0;