Skip to content

Commit

Permalink
Public release 3.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Pariecemckinney-apple authored Oct 15, 2024
1 parent b274d1f commit 5c5d295
Show file tree
Hide file tree
Showing 312 changed files with 7,741 additions and 421 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![researchkit_banner](https://github.com/user-attachments/assets/0384c1a6-ec67-45d3-be68-136a2e4cacff)
![ResearchKit](https://github.com/user-attachments/assets/0384c1a6-ec67-45d3-be68-136a2e4cacff)

ResearchKit Framework
===========
Expand Down
19 changes: 19 additions & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# ResearchKit Release Notes

## ResearchKit 3.1 Release Notes
In addition to general stability and performance improvements, ResearchKit 3.1 includes the following updates:

- **ORKFamilyHistoryStep**
The `ORKFamilyHistoryStep` can be configured to present a Family Health History survey.

- **ORKColorChoiceAnswerFormat**
The `ORKColorChoiceAnswerFormat` presents the user with a list of color choices.

- **ORKAgeAnswerFormat**
The `ORKAgeAnswerFormat` presents a age picker that presents birth year or current age options depending on how you configure it.

- **CLLocation Flag**
A compiler flag that prevents your app from being flagged during app store submission if your app doesn't require location services.

- **HealthKit Flag**
A compiler flag that prevents your app from being flagged during app store submission if your app doesn't use HealthKit.


## ResearchKit 3.0.1 Release Notes
In addition to general stability and performance improvements, ResearchKit 3.0.1 includes the following updates:

Expand Down
34 changes: 34 additions & 0 deletions ResearchKit.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Pod::Spec.new do |s|
s.name = 'ResearchKit'
s.version = '3.0.1'
s.summary = 'ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects.'
s.homepage = 'https://www.github.com/ResearchKit/ResearchKit'
s.documentation_url = 'http://researchkit.github.io/docs/'
s.license = { :type => 'BSD', :file => 'LICENSE' }
s.author = { 'researchkit.org' => 'http://researchkit.org' }
s.source = { :git => 'https://github.com/ResearchKit/ResearchKit.git', :tag => s.version.to_s }

s.default_subspec = "ResearchKitAllTargets"

s.subspec 'ResearchKitCore' do |ss|
ss.vendored_frameworks = 'xcframework/ResearchKit.xcframework'
end

s.subspec 'ResearchKitUI' do |ss|
ss.vendored_frameworks = 'xcframework/ResearchKitUI.xcframework'
ss.dependency 'ResearchKit/ResearchKitCore'
end

s.subspec 'ResearchKitActiveTask' do |ss|
ss.vendored_frameworks = 'xcframework/ResearchKitActiveTask.xcframework'
ss.dependency 'ResearchKit/ResearchKitUI'
ss.dependency 'ResearchKit/ResearchKitCore'
end

s.subspec 'ResearchKitAllTargets' do |ss|
ss.dependency 'ResearchKit/ResearchKitCore'
ss.dependency 'ResearchKit/ResearchKitUI'
ss.dependency 'ResearchKit/ResearchKitActiveTask'
end
end

261 changes: 238 additions & 23 deletions ResearchKit.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1530"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CAD08966289DD747007B2A98"
BuildableName = "ResearchKitActiveTask.framework"
BlueprintName = "ResearchKitActiveTask"
ReferencedContainer = "container:ResearchKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CAD08966289DD747007B2A98"
BuildableName = "ResearchKitActiveTask.framework"
BlueprintName = "ResearchKitActiveTask"
ReferencedContainer = "container:ResearchKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
<InstallAction
buildConfiguration = "Release">
</InstallAction>
</Scheme>
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1530"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0BC672D82BD9C52D005798AC"
BuildableName = "ResearchKitAllTargets"
BlueprintName = "ResearchKitAllTargets"
ReferencedContainer = "container:ResearchKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0BC672D82BD9C52D005798AC"
BuildableName = "ResearchKitAllTargets"
BlueprintName = "ResearchKitAllTargets"
ReferencedContainer = "container:ResearchKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
<InstallAction
buildConfiguration = "Release">
</InstallAction>
</Scheme>
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "CA1C7A40288B0C68004DAB3A"
BuildableName = "ResearchKitUI.framework"
BlueprintName = "ResearchKitUI (iOS)"
BlueprintName = "ResearchKitUI"
ReferencedContainer = "container:ResearchKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
Expand Down Expand Up @@ -52,7 +52,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "CA1C7A40288B0C68004DAB3A"
BuildableName = "ResearchKitUI.framework"
BlueprintName = "ResearchKitUI (iOS)"
BlueprintName = "ResearchKitUI"
ReferencedContainer = "container:ResearchKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
Expand Down
2 changes: 2 additions & 0 deletions ResearchKit/Common/CLLocationManager+ResearchKit.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#if ORK_FEATURE_CLLOCATIONMANAGER_AUTHORIZATION
#import <CoreLocation/CLLocationManager.h>

NS_ASSUME_NONNULL_BEGIN
Expand All @@ -52,3 +53,4 @@ NS_ASSUME_NONNULL_BEGIN
@end

NS_ASSUME_NONNULL_END
#endif
18 changes: 2 additions & 16 deletions ResearchKit/Common/CLLocationManager+ResearchKit.m
Original file line number Diff line number Diff line change
Expand Up @@ -28,44 +28,30 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#if ORK_FEATURE_CLLOCATIONMANAGER_AUTHORIZATION
#import "CLLocationManager+ResearchKit.h"

#import "ORKDefines.h"

@implementation CLLocationManager (ResearchKit)

- (BOOL)ork_requestWhenInUseAuthorization {
#if ORK_FEATURE_CLLOCATIONMANAGER_AUTHORIZATION
[self requestWhenInUseAuthorization];
return YES;
#else
return NO;
#endif
}

- (BOOL)ork_requestAlwaysAuthorization {
#if ORK_FEATURE_CLLOCATIONMANAGER_AUTHORIZATION
[self requestAlwaysAuthorization];
return YES;
#else
return NO;
#endif
}

- (void)ork_startUpdatingLocation {
#if ORK_FEATURE_CLLOCATIONMANAGER_AUTHORIZATION
[self startUpdatingLocation];
#else
// noop
#endif
}

- (void)ork_stopUpdatingLocation {
#if ORK_FEATURE_CLLOCATIONMANAGER_AUTHORIZATION
[self stopUpdatingLocation];
#else
// noop
#endif
}

@end
#endif
4 changes: 4 additions & 0 deletions ResearchKit/Common/HKSample+ORKJSONDictionary.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,10 @@
*/


#if ORK_FEATURE_HEALTHKIT_AUTHORIZATION
#import <HealthKit/HealthKit.h>


NS_ASSUME_NONNULL_BEGIN

typedef NS_OPTIONS(NSInteger, ORKSampleJSONOptions) {
Expand Down Expand Up @@ -59,3 +61,5 @@ typedef NS_OPTIONS(NSInteger, ORKSampleJSONOptions) {
@end

NS_ASSUME_NONNULL_END

#endif
3 changes: 2 additions & 1 deletion ResearchKit/Common/HKSample+ORKJSONDictionary.m
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
static NSString *const HKCorrelatedObjectsKey = @"objects";
// static NSString *const HKSourceIdentifierKey = @"sourceBundleIdentifier";


#if ORK_FEATURE_HEALTHKIT_AUTHORIZATION
@implementation HKSample (ORKJSONDictionary)

- (NSMutableDictionary *)ork_JSONMutableDictionaryWithOptions:(ORKSampleJSONOptions)options unit:(HKUnit *)unit {
Expand Down Expand Up @@ -167,3 +167,4 @@ - (NSDictionary *)ork_JSONDictionaryWithOptions:(ORKSampleJSONOptions)options sa
}

@end
#endif // ORK_FEATURE_HEALTHKIT_AUTHORIZATION
1 change: 0 additions & 1 deletion ResearchKit/Common/ORKActiveStep.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@


#import <UIKit/UIKit.h>
#import <HealthKit/HealthKit.h>
#import <ResearchKit/ORKStep.h>


Expand Down
2 changes: 2 additions & 0 deletions ResearchKit/Common/ORKActiveStep.m
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ - (BOOL)isEqual:(id)object {
(self.shouldUseNextAsSkipButton == castObject.shouldUseNextAsSkipButton));
}

#if ORK_FEATURE_HEALTHKIT_AUTHORIZATION
- (NSSet<HKObjectType *> *)requestedHealthKitTypesForReading {
NSMutableSet<HKObjectType *> *set = [NSMutableSet set];
for (ORKRecorderConfiguration *config in self.recorderConfigurations) {
Expand All @@ -174,6 +175,7 @@ - (BOOL)isEqual:(id)object {
}
return set;
}
#endif

- (ORKPermissionMask)requestedPermissions {
ORKPermissionMask mask = [super requestedPermissions];
Expand Down
Loading

0 comments on commit 5c5d295

Please sign in to comment.