Skip to content

Commit 0ae8358

Browse files
committed
Posting v2.0.0 code to GitHub.
1 parent d616cb1 commit 0ae8358

File tree

108 files changed

+2746
-783
lines changed

Some content is hidden

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

108 files changed

+2746
-783
lines changed

CHANGELOG.md

+21-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,27 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7-
## [1.1.0] - 2021-01
7+
## [2.0.0] - 2024-06-14
88
### Added
9-
- The compiled framework now includes simulator code for simulators running on Macs with Apple silicon.
9+
- visionOS support! The compiled framework now includes support for visionOS v1.1 and
10+
visionOS Simulator. There is also a native visionOS sample app that works just like
11+
the iOS sample app.
12+
- The CertificateSDK.xcframework is now signed by Jamf for added security.
13+
### Changed
14+
- Moved the Package.swift tool version from Swift 5.3 to Swift v5.9 in order to support visionOS.
15+
- Moved the iOS minimum deployment target from v10 to v12.
16+
- Described how to use `$MANAGEMENTID` to support BYOD devices with Jamf Pro v11.5.1 and newer.
17+
### Removed
18+
- Removed PDF file titled "Integrating the Jamf Certificate SDK into your iOS App". This information
19+
is now available online. See the bottom of the README file for a link.
20+
21+
## [1.1.1] - 2022-03-11
22+
### Changed
23+
- Modified the name of the target in the `Package.swift` file so that Xcode 13.3 can find the artifact.
24+
25+
## [1.1.0] - 2021-01-08
26+
### Added
27+
- The compiled framework now includes simulator code for simulators running on Macs with Apple Silicon.
1028
- Added a `Package.swift` file for integration with Swift Package Manager.
1129

1230
### Changed
@@ -26,7 +44,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2644
### Fixed
2745
- The Jamf Certificate SDK now properly handles network errors and status updates when making requests for a new Managed App Configuration.
2846
- Fixed an issue that prevented the progress of steps from starting at zero and incrementing by one up to the maxNumberOfSteps.
29-
- Fixed an issue that prevented the NSError object from being correctly sent into the certificateRequest:errorOccurred: delegate method.
47+
- Fixed an issue that prevented the NSError object from being correctly sent into the `certificateRequest:errorOccurred:` delegate method.
3048

3149
## [1.0.0] - 2018-07-24
3250
### Added

Certificate SDK Sample App.xcodeproj/project.pbxproj

+237-35
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1530"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
<BuildActionEntries>
10+
<BuildActionEntry
11+
buildForTesting = "YES"
12+
buildForRunning = "YES"
13+
buildForProfiling = "YES"
14+
buildForArchiving = "YES"
15+
buildForAnalyzing = "YES">
16+
<BuildableReference
17+
BuildableIdentifier = "primary"
18+
BlueprintIdentifier = "97BE792E20AB6FF3009579E5"
19+
BuildableName = "Certificate SDK Sample iOS.app"
20+
BlueprintName = "Certificate SDK Sample iOS"
21+
ReferencedContainer = "container:Certificate SDK Sample App.xcodeproj">
22+
</BuildableReference>
23+
</BuildActionEntry>
24+
</BuildActionEntries>
25+
</BuildAction>
26+
<TestAction
27+
buildConfiguration = "Debug"
28+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
29+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30+
shouldUseLaunchSchemeArgsEnv = "YES"
31+
shouldAutocreateTestPlan = "YES">
32+
</TestAction>
33+
<LaunchAction
34+
buildConfiguration = "Debug"
35+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37+
launchStyle = "0"
38+
useCustomWorkingDirectory = "NO"
39+
ignoresPersistentStateOnLaunch = "NO"
40+
debugDocumentVersioning = "YES"
41+
debugServiceExtension = "internal"
42+
allowLocationSimulation = "YES">
43+
<BuildableProductRunnable
44+
runnableDebuggingMode = "0">
45+
<BuildableReference
46+
BuildableIdentifier = "primary"
47+
BlueprintIdentifier = "97BE792E20AB6FF3009579E5"
48+
BuildableName = "Certificate SDK Sample iOS.app"
49+
BlueprintName = "Certificate SDK Sample iOS"
50+
ReferencedContainer = "container:Certificate SDK Sample App.xcodeproj">
51+
</BuildableReference>
52+
</BuildableProductRunnable>
53+
</LaunchAction>
54+
<ProfileAction
55+
buildConfiguration = "Release"
56+
shouldUseLaunchSchemeArgsEnv = "YES"
57+
savedToolIdentifier = ""
58+
useCustomWorkingDirectory = "NO"
59+
debugDocumentVersioning = "YES">
60+
<BuildableProductRunnable
61+
runnableDebuggingMode = "0">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "97BE792E20AB6FF3009579E5"
65+
BuildableName = "Certificate SDK Sample iOS.app"
66+
BlueprintName = "Certificate SDK Sample iOS"
67+
ReferencedContainer = "container:Certificate SDK Sample App.xcodeproj">
68+
</BuildableReference>
69+
</BuildableProductRunnable>
70+
</ProfileAction>
71+
<AnalyzeAction
72+
buildConfiguration = "Debug">
73+
</AnalyzeAction>
74+
<ArchiveAction
75+
buildConfiguration = "Release"
76+
revealArchiveInOrganizer = "YES">
77+
</ArchiveAction>
78+
</Scheme>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1530"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
<BuildActionEntries>
10+
<BuildActionEntry
11+
buildForTesting = "YES"
12+
buildForRunning = "YES"
13+
buildForProfiling = "YES"
14+
buildForArchiving = "YES"
15+
buildForAnalyzing = "YES">
16+
<BuildableReference
17+
BuildableIdentifier = "primary"
18+
BlueprintIdentifier = "C04D81722BEBC9130024FDFC"
19+
BuildableName = "Certificate SDK Sample visionOS.app"
20+
BlueprintName = "Certificate SDK Sample visionOS"
21+
ReferencedContainer = "container:Certificate SDK Sample App.xcodeproj">
22+
</BuildableReference>
23+
</BuildActionEntry>
24+
</BuildActionEntries>
25+
</BuildAction>
26+
<TestAction
27+
buildConfiguration = "Debug"
28+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
29+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30+
shouldUseLaunchSchemeArgsEnv = "YES"
31+
shouldAutocreateTestPlan = "YES">
32+
</TestAction>
33+
<LaunchAction
34+
buildConfiguration = "Debug"
35+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37+
launchStyle = "0"
38+
useCustomWorkingDirectory = "NO"
39+
ignoresPersistentStateOnLaunch = "NO"
40+
debugDocumentVersioning = "YES"
41+
debugServiceExtension = "internal"
42+
allowLocationSimulation = "YES">
43+
<BuildableProductRunnable
44+
runnableDebuggingMode = "0">
45+
<BuildableReference
46+
BuildableIdentifier = "primary"
47+
BlueprintIdentifier = "C04D81722BEBC9130024FDFC"
48+
BuildableName = "Certificate SDK Sample visionOS.app"
49+
BlueprintName = "Certificate SDK Sample visionOS"
50+
ReferencedContainer = "container:Certificate SDK Sample App.xcodeproj">
51+
</BuildableReference>
52+
</BuildableProductRunnable>
53+
</LaunchAction>
54+
<ProfileAction
55+
buildConfiguration = "Release"
56+
shouldUseLaunchSchemeArgsEnv = "YES"
57+
savedToolIdentifier = ""
58+
useCustomWorkingDirectory = "NO"
59+
debugDocumentVersioning = "YES">
60+
<BuildableProductRunnable
61+
runnableDebuggingMode = "0">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "C04D81722BEBC9130024FDFC"
65+
BuildableName = "Certificate SDK Sample visionOS.app"
66+
BlueprintName = "Certificate SDK Sample visionOS"
67+
ReferencedContainer = "container:Certificate SDK Sample App.xcodeproj">
68+
</BuildableReference>
69+
</BuildableProductRunnable>
70+
</ProfileAction>
71+
<AnalyzeAction
72+
buildConfiguration = "Debug">
73+
</AnalyzeAction>
74+
<ArchiveAction
75+
buildConfiguration = "Release"
76+
revealArchiveInOrganizer = "YES">
77+
</ArchiveAction>
78+
</Scheme>

Certificate SDK Sample App/CertificateSDKSetup.swift Certificate SDK Sample Shared/CertRequestConfiguration.swift

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
//
2-
// CertificateSDKSetup.swift
3-
// Certificate SDK Sample App
2+
// SPDX-License-Identifier: MIT
43
// https://github.com/jamf/CertificateSDK
54
//
6-
// Copyright © 2019 Jamf. All rights reserved.
5+
// Copyright 2024, Jamf
76
//
87

98
/// Contains the selected options for the test run
10-
struct CertificateSDKSetup {
9+
struct CertRequestConfiguration {
1110
var isActual: Bool
1211
var slowSpeed: Bool
1312
var simulateError: Bool

Certificate SDK Sample App/CertificateRequestManager.swift Certificate SDK Sample Shared/CertificateRequestManager.swift

+8-14
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
//
2-
// CertificateRequestManager.swift
3-
// Certificate SDK Sample App
2+
// SPDX-License-Identifier: MIT
43
// https://github.com/jamf/CertificateSDK
54
//
6-
// Copyright © 2019 Jamf. All rights reserved.
5+
// Copyright 2024, Jamf
76
//
8-
97
import CertificateSDK
10-
import UIKit
118

129
class CertificateRequestManager: NSObject {
1310
let keychainHelper = KeychainHandler()
@@ -17,20 +14,20 @@ class CertificateRequestManager: NSObject {
1714

1815
private var certificateRequest: CertificateRequestProtocol?
1916

20-
/// Starts a new request with the given setup; does nothing if a request is currently pending.
17+
/// Starts a new request with the given configuration; does nothing if a request is currently pending.
2118
///
22-
/// - Parameter setup: The type of certificate request to start
23-
func startRequest(with setup: CertificateSDKSetup) {
19+
/// - Parameter configuration: The type of certificate request to start
20+
func startRequest(with configuration: CertRequestConfiguration) {
2421
guard certificateRequest == nil else {
2522
// do nothing. Let the user try to run the test or re-run the test once the request is nil.
2623
return
2724
}
2825

29-
if setup.isActual {
26+
if configuration.isActual {
3027
certificateRequest = CertificateRequestWorkflow(delegate: self)
3128
} else {
3229
var localRequest: CertificateRequestEmbeddedP12?
33-
if !setup.simulateError, let p12 = Bundle.main.url(forResource: "test_certificate",
30+
if !configuration.simulateError, let p12 = Bundle.main.url(forResource: "test_certificate",
3431
withExtension: "p12") {
3532
localRequest = CertificateRequestEmbeddedP12(delegate: self, p12File: p12, p12Password: "abc123")
3633
} else {
@@ -39,7 +36,7 @@ class CertificateRequestManager: NSObject {
3936
p12Password: "a")
4037
}
4138

42-
if setup.slowSpeed {
39+
if configuration.slowSpeed {
4340
localRequest?.secondsBetweenSteps = 2
4441
}
4542
certificateRequest = localRequest
@@ -84,9 +81,6 @@ extension CertificateRequestHandler: CertificateRequestDelegate {
8481

8582
func certificateRequest(_ request: CertificateRequestProtocol, isUsingNetwork: Bool) {
8683
self.textOutputHandler?("Using network: \(isUsingNetwork)")
87-
DispatchQueue.main.async {
88-
UIApplication.shared.isNetworkActivityIndicatorVisible = isUsingNetwork
89-
}
9084
}
9185

9286
func certificateRequest(_ request: CertificateRequestProtocol, isWaitingForMAC waitingForMAC: Bool) {

Certificate SDK Sample App/KeychainHandler.swift Certificate SDK Sample Shared/KeychainHandler.swift

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
//
2-
// KeychainHandler.swift
3-
// Certificate SDK Sample App
2+
// SPDX-License-Identifier: MIT
43
// https://github.com/jamf/CertificateSDK
54
//
6-
// Copyright © 2019 Jamf. All rights reserved.
5+
// Copyright 2024, Jamf
76
//
8-
97
import Foundation
108

119
struct KeychainHandler {

0 commit comments

Comments
 (0)