Skip to content
This repository was archived by the owner on Apr 12, 2020. It is now read-only.

Commit 10c9767

Browse files
authored
Merge pull request #22 from Lessica/master
Multiple changes; see individual commits
2 parents 760e079 + 1173ab5 commit 10c9767

30 files changed

Lines changed: 1138 additions & 596 deletions

.gitignore

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,208 @@
11
AltDeploy.xcodeproj/project.xcworkspace/xcuserdata
22
AltDeploy.xcodeproj/xcuserdata
3+
4+
# Created by https://www.gitignore.io/api/macos,xcode,appcode,objective-c
5+
# Edit at https://www.gitignore.io/?templates=macos,xcode,appcode,objective-c
6+
7+
### AppCode ###
8+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
9+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
10+
11+
# User-specific stuff
12+
.idea/**/workspace.xml
13+
.idea/**/tasks.xml
14+
.idea/**/usage.statistics.xml
15+
.idea/**/dictionaries
16+
.idea/**/shelf
17+
18+
# Generated files
19+
.idea/**/contentModel.xml
20+
21+
# Sensitive or high-churn files
22+
.idea/**/dataSources/
23+
.idea/**/dataSources.ids
24+
.idea/**/dataSources.local.xml
25+
.idea/**/sqlDataSources.xml
26+
.idea/**/dynamic.xml
27+
.idea/**/uiDesigner.xml
28+
.idea/**/dbnavigator.xml
29+
30+
# Gradle
31+
.idea/**/gradle.xml
32+
.idea/**/libraries
33+
34+
# Gradle and Maven with auto-import
35+
# When using Gradle or Maven with auto-import, you should exclude module files,
36+
# since they will be recreated, and may cause churn. Uncomment if using
37+
# auto-import.
38+
# .idea/modules.xml
39+
# .idea/*.iml
40+
# .idea/modules
41+
# *.iml
42+
# *.ipr
43+
44+
# CMake
45+
cmake-build-*/
46+
47+
# Mongo Explorer plugin
48+
.idea/**/mongoSettings.xml
49+
50+
# File-based project format
51+
*.iws
52+
53+
# IntelliJ
54+
out/
55+
56+
# mpeltonen/sbt-idea plugin
57+
.idea_modules/
58+
59+
# JIRA plugin
60+
atlassian-ide-plugin.xml
61+
62+
# Cursive Clojure plugin
63+
.idea/replstate.xml
64+
65+
# Crashlytics plugin (for Android Studio and IntelliJ)
66+
com_crashlytics_export_strings.xml
67+
crashlytics.properties
68+
crashlytics-build.properties
69+
fabric.properties
70+
71+
# Editor-based Rest Client
72+
.idea/httpRequests
73+
74+
# Android studio 3.1+ serialized cache file
75+
.idea/caches/build_file_checksums.ser
76+
77+
### AppCode Patch ###
78+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
79+
80+
# *.iml
81+
# modules.xml
82+
# .idea/misc.xml
83+
# *.ipr
84+
85+
# Sonarlint plugin
86+
.idea/**/sonarlint/
87+
88+
# SonarQube Plugin
89+
.idea/**/sonarIssues.xml
90+
91+
# Markdown Navigator plugin
92+
.idea/**/markdown-navigator.xml
93+
.idea/**/markdown-navigator/
94+
95+
### macOS ###
96+
# General
97+
.DS_Store
98+
.AppleDouble
99+
.LSOverride
100+
101+
# Icon must end with two \r
102+
Icon
103+
104+
# Thumbnails
105+
._*
106+
107+
# Files that might appear in the root of a volume
108+
.DocumentRevisions-V100
109+
.fseventsd
110+
.Spotlight-V100
111+
.TemporaryItems
112+
.Trashes
113+
.VolumeIcon.icns
114+
.com.apple.timemachine.donotpresent
115+
116+
# Directories potentially created on remote AFP share
117+
.AppleDB
118+
.AppleDesktop
119+
Network Trash Folder
120+
Temporary Items
121+
.apdisk
122+
123+
### Objective-C ###
124+
# Xcode
125+
#
126+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
127+
128+
## Build generated
129+
build/
130+
DerivedData/
131+
132+
## Various settings
133+
*.pbxuser
134+
!default.pbxuser
135+
*.mode1v3
136+
!default.mode1v3
137+
*.mode2v3
138+
!default.mode2v3
139+
*.perspectivev3
140+
!default.perspectivev3
141+
xcuserdata/
142+
143+
## Other
144+
*.moved-aside
145+
*.xccheckout
146+
*.xcscmblueprint
147+
148+
## Obj-C/Swift specific
149+
*.hmap
150+
*.ipa
151+
*.dSYM.zip
152+
*.dSYM
153+
154+
# CocoaPods
155+
# We recommend against adding the Pods directory to your .gitignore. However
156+
# you should judge for yourself, the pros and cons are mentioned at:
157+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
158+
# Pods/
159+
# Add this line if you want to avoid checking in source code from the Xcode workspace
160+
# *.xcworkspace
161+
162+
# Carthage
163+
# Add this line if you want to avoid checking in source code from Carthage dependencies.
164+
# Carthage/Checkouts
165+
166+
Carthage/Build
167+
168+
# fastlane
169+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
170+
# screenshots whenever they are needed.
171+
# For more information about the recommended setup visit:
172+
# https://docs.fastlane.tools/best-practices/source-control/#source-control
173+
174+
fastlane/report.xml
175+
fastlane/Preview.html
176+
fastlane/screenshots/**/*.png
177+
fastlane/test_output
178+
179+
# Code Injection
180+
# After new code Injection tools there's a generated folder /iOSInjectionProject
181+
# https://github.com/johnno1962/injectionforxcode
182+
183+
iOSInjectionProject/
184+
185+
### Objective-C Patch ###
186+
187+
### Xcode ###
188+
# Xcode
189+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
190+
191+
## User settings
192+
193+
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
194+
195+
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
196+
197+
## Xcode Patch
198+
*.xcodeproj/*
199+
!*.xcodeproj/project.pbxproj
200+
!*.xcodeproj/xcshareddata/
201+
!*.xcworkspace/contents.xcworkspacedata
202+
/*.gcno
203+
204+
### Xcode Patch ###
205+
**/xcshareddata/WorkspaceSettings.xcsettings
206+
207+
# End of https://www.gitignore.io/api/macos,xcode,appcode,objective-c
208+
n

AltDeploy.sketch

39.2 KB
Binary file not shown.

AltDeploy.xcodeproj/project.pbxproj

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,17 @@
4343
CEA24BF723C132E000A6DB11 /* Result+Conveniences.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA24BF423C132E000A6DB11 /* Result+Conveniences.swift */; };
4444
CEA24BFB23C133C500A6DB11 /* AnisetteDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA24BFA23C133C500A6DB11 /* AnisetteDataManager.swift */; };
4545
CEA6378023C3941200CEC7A9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377623C3941200CEC7A9 /* Assets.xcassets */; };
46-
CEA6378123C3941200CEC7A9 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA6377723C3941200CEC7A9 /* ViewController.m */; };
46+
CEA6378123C3941200CEC7A9 /* ALTMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA6377723C3941200CEC7A9 /* ALTMainViewController.m */; };
4747
CEA6378223C3941200CEC7A9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377823C3941200CEC7A9 /* Main.storyboard */; };
4848
CEA6378323C3941200CEC7A9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA6377A23C3941200CEC7A9 /* main.m */; };
4949
CEA6378423C3941200CEC7A9 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA6377C23C3941200CEC7A9 /* AppDelegate.m */; };
5050
CEA6378523C3941200CEC7A9 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377D23C3941200CEC7A9 /* Info.plist */; };
5151
CEA6378623C3941200CEC7A9 /* apple.pem in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377F23C3941200CEC7A9 /* apple.pem */; };
5252
CEBF417D23C2599C004338D2 /* SAMKeychainQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBF417C23C2599C004338D2 /* SAMKeychainQuery.m */; };
5353
CEBF418023C259CA004338D2 /* SAMKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBF417F23C259CA004338D2 /* SAMKeychain.m */; };
54+
D69D3D6823C6ADF00095CEC9 /* ALTAddAppleIDViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D69D3D6723C6ADF00095CEC9 /* ALTAddAppleIDViewController.m */; };
55+
D69D3D6B23C6B0950095CEC9 /* ALTAppleIDManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D69D3D6A23C6B0950095CEC9 /* ALTAppleIDManager.m */; };
56+
D69D3D6E23C6E7CF0095CEC9 /* ALTDragDropView.m in Sources */ = {isa = PBXBuildFile; fileRef = D69D3D6D23C6E7CF0095CEC9 /* ALTDragDropView.m */; };
5457
/* End PBXBuildFile section */
5558

5659
/* Begin PBXCopyFilesBuildPhase section */
@@ -211,20 +214,26 @@
211214
CEA24BFA23C133C500A6DB11 /* AnisetteDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnisetteDataManager.swift; sourceTree = "<group>"; };
212215
CEA6377523C3941200CEC7A9 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
213216
CEA6377623C3941200CEC7A9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
214-
CEA6377723C3941200CEC7A9 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
217+
CEA6377723C3941200CEC7A9 /* ALTMainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTMainViewController.m; sourceTree = "<group>"; };
215218
CEA6377923C3941200CEC7A9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
216219
CEA6377A23C3941200CEC7A9 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
217220
CEA6377B23C3941200CEC7A9 /* AltDeploy.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = AltDeploy.entitlements; sourceTree = "<group>"; };
218221
CEA6377C23C3941200CEC7A9 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
219222
CEA6377D23C3941200CEC7A9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
220-
CEA6377E23C3941200CEC7A9 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
223+
CEA6377E23C3941200CEC7A9 /* ALTMainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTMainViewController.h; sourceTree = "<group>"; };
221224
CEA6377F23C3941200CEC7A9 /* apple.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = apple.pem; sourceTree = "<group>"; };
222225
CEA6378723C3944400CEC7A9 /* AltDeploy-Bridge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AltDeploy-Bridge.h"; sourceTree = "<group>"; };
223226
CEBF417A23C2597E004338D2 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
224227
CEBF417B23C2599C004338D2 /* SAMKeychainQuery.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SAMKeychainQuery.h; sourceTree = "<group>"; };
225228
CEBF417C23C2599C004338D2 /* SAMKeychainQuery.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAMKeychainQuery.m; sourceTree = "<group>"; };
226229
CEBF417E23C259CA004338D2 /* SAMKeychain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SAMKeychain.h; sourceTree = "<group>"; };
227230
CEBF417F23C259CA004338D2 /* SAMKeychain.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAMKeychain.m; sourceTree = "<group>"; };
231+
D69D3D6623C6ADF00095CEC9 /* ALTAddAppleIDViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALTAddAppleIDViewController.h; sourceTree = "<group>"; };
232+
D69D3D6723C6ADF00095CEC9 /* ALTAddAppleIDViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALTAddAppleIDViewController.m; sourceTree = "<group>"; };
233+
D69D3D6923C6B0950095CEC9 /* ALTAppleIDManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALTAppleIDManager.h; sourceTree = "<group>"; };
234+
D69D3D6A23C6B0950095CEC9 /* ALTAppleIDManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALTAppleIDManager.m; sourceTree = "<group>"; };
235+
D69D3D6C23C6E7CF0095CEC9 /* ALTDragDropView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALTDragDropView.h; sourceTree = "<group>"; };
236+
D69D3D6D23C6E7CF0095CEC9 /* ALTDragDropView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALTDragDropView.m; sourceTree = "<group>"; };
228237
/* End PBXFileReference section */
229238

230239
/* Begin PBXFrameworksBuildPhase section */
@@ -338,8 +347,8 @@
338347
CEA24B7323C1278B00A6DB11 /* AltKit */ = {
339348
isa = PBXGroup;
340349
children = (
341-
CEA24B7423C1278B00A6DB11 /* NSError+ALTServerError.h */,
342350
CEA24B7523C1278B00A6DB11 /* AltKit.h */,
351+
CEA24B7423C1278B00A6DB11 /* NSError+ALTServerError.h */,
343352
CEA24B7623C1278B00A6DB11 /* NSError+ALTServerError.m */,
344353
CEA24BF423C132E000A6DB11 /* Result+Conveniences.swift */,
345354
);
@@ -450,10 +459,10 @@
450459
CEA24BE723C130CD00A6DB11 /* AltServer */ = {
451460
isa = PBXGroup;
452461
children = (
462+
CEA24BEA23C130CD00A6DB11 /* ALTDeviceManager.h */,
453463
CEA24BE823C130CD00A6DB11 /* ALTDeviceManager.mm */,
454464
CEA24BFA23C133C500A6DB11 /* AnisetteDataManager.swift */,
455465
CEA24BE923C130CD00A6DB11 /* ALTDeviceManager+Installation.swift */,
456-
CEA24BEA23C130CD00A6DB11 /* ALTDeviceManager.h */,
457466
);
458467
path = AltServer;
459468
sourceTree = "<group>";
@@ -462,14 +471,20 @@
462471
isa = PBXGroup;
463472
children = (
464473
CEA6377523C3941200CEC7A9 /* AppDelegate.h */,
474+
CEA6377C23C3941200CEC7A9 /* AppDelegate.m */,
475+
CEA6377A23C3941200CEC7A9 /* main.m */,
465476
CEA6377623C3941200CEC7A9 /* Assets.xcassets */,
466-
CEA6377723C3941200CEC7A9 /* ViewController.m */,
467477
CEA6377823C3941200CEC7A9 /* Main.storyboard */,
468-
CEA6377A23C3941200CEC7A9 /* main.m */,
478+
D69D3D6923C6B0950095CEC9 /* ALTAppleIDManager.h */,
479+
D69D3D6A23C6B0950095CEC9 /* ALTAppleIDManager.m */,
480+
CEA6377E23C3941200CEC7A9 /* ALTMainViewController.h */,
481+
CEA6377723C3941200CEC7A9 /* ALTMainViewController.m */,
482+
D69D3D6623C6ADF00095CEC9 /* ALTAddAppleIDViewController.h */,
483+
D69D3D6723C6ADF00095CEC9 /* ALTAddAppleIDViewController.m */,
484+
D69D3D6C23C6E7CF0095CEC9 /* ALTDragDropView.h */,
485+
D69D3D6D23C6E7CF0095CEC9 /* ALTDragDropView.m */,
469486
CEA6377B23C3941200CEC7A9 /* AltDeploy.entitlements */,
470-
CEA6377C23C3941200CEC7A9 /* AppDelegate.m */,
471487
CEA6377D23C3941200CEC7A9 /* Info.plist */,
472-
CEA6377E23C3941200CEC7A9 /* ViewController.h */,
473488
CEA6377F23C3941200CEC7A9 /* apple.pem */,
474489
);
475490
path = AltDeploy;
@@ -567,20 +582,23 @@
567582
CEA24B6A23C1234100A6DB11 /* ALTCertificate.m in Sources */,
568583
CEA24B6523C1234100A6DB11 /* ALTAppGroup.m in Sources */,
569584
CEA24BE023C12A3100A6DB11 /* unzip.c in Sources */,
585+
D69D3D6B23C6B0950095CEC9 /* ALTAppleIDManager.m in Sources */,
570586
CEA24B6F23C1234100A6DB11 /* NSFileManager+Apps.m in Sources */,
571587
CEA24B6E23C1234100A6DB11 /* ldid.cpp in Sources */,
572588
CEA24BFB23C133C500A6DB11 /* AnisetteDataManager.swift in Sources */,
573-
CEA6378123C3941200CEC7A9 /* ViewController.m in Sources */,
589+
CEA6378123C3941200CEC7A9 /* ALTMainViewController.m in Sources */,
574590
CEA24BE523C12A3100A6DB11 /* miniunz.c in Sources */,
575591
CEA24BE423C12A3100A6DB11 /* minizip.c in Sources */,
576592
CEA24B6723C1234100A6DB11 /* ALTTeam.m in Sources */,
593+
D69D3D6E23C6E7CF0095CEC9 /* ALTDragDropView.m in Sources */,
577594
CEA6378423C3941200CEC7A9 /* AppDelegate.m in Sources */,
578595
CEA24B6423C1234100A6DB11 /* ALTDevice.m in Sources */,
579596
CEA24B6623C1234100A6DB11 /* ALTAppID.m in Sources */,
580597
CEA24B6D23C1234100A6DB11 /* ALTApplication.mm in Sources */,
581598
CEA24BEB23C130CD00A6DB11 /* ALTDeviceManager.mm in Sources */,
582599
CEA24BE223C12A3100A6DB11 /* ioapi.c in Sources */,
583600
CEA24B6023C1234100A6DB11 /* ALTAppleAPISession.m in Sources */,
601+
D69D3D6823C6ADF00095CEC9 /* ALTAddAppleIDViewController.m in Sources */,
584602
CEA24B6823C1234100A6DB11 /* ALTCertificateRequest.m in Sources */,
585603
CEA24B6223C1234100A6DB11 /* ALTCapabilities.m in Sources */,
586604
CEA24B6C23C1234100A6DB11 /* ALTAnisetteData.m in Sources */,
@@ -725,10 +743,10 @@
725743
buildSettings = {
726744
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
727745
CODE_SIGN_ENTITLEMENTS = AltDeploy/AltDeploy.entitlements;
728-
CODE_SIGN_IDENTITY = "-";
746+
CODE_SIGN_IDENTITY = "Apple Development";
729747
CODE_SIGN_STYLE = Automatic;
730748
COMBINE_HIDPI_IMAGES = YES;
731-
DEVELOPMENT_TEAM = "";
749+
DEVELOPMENT_TEAM = MB269FV75D;
732750
ENABLE_HARDENED_RUNTIME = YES;
733751
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
734752
HEADER_SEARCH_PATHS = (
@@ -750,6 +768,7 @@
750768
PRODUCT_BUNDLE_IDENTIFIER = com.pixelomer.altdeploy;
751769
PRODUCT_NAME = "$(TARGET_NAME)";
752770
SWIFT_OBJC_BRIDGING_HEADER = "AltDeploy-Bridge.h";
771+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
753772
SWIFT_VERSION = 4.0;
754773
};
755774
name = Debug;
@@ -759,10 +778,10 @@
759778
buildSettings = {
760779
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
761780
CODE_SIGN_ENTITLEMENTS = AltDeploy/AltDeploy.entitlements;
762-
CODE_SIGN_IDENTITY = "-";
781+
CODE_SIGN_IDENTITY = "Apple Development";
763782
CODE_SIGN_STYLE = Automatic;
764783
COMBINE_HIDPI_IMAGES = YES;
765-
DEVELOPMENT_TEAM = "";
784+
DEVELOPMENT_TEAM = MB269FV75D;
766785
ENABLE_HARDENED_RUNTIME = YES;
767786
HEADER_SEARCH_PATHS = (
768787
/usr/local/include,
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//
2+
// ALTAddAppleIDViewController.h
3+
// AltDeploy
4+
//
5+
// Created by Darwin on 1/9/20.
6+
// Copyright © 2020 PixelOmer. All rights reserved.
7+
//
8+
9+
#import <Cocoa/Cocoa.h>
10+
11+
NS_ASSUME_NONNULL_BEGIN
12+
13+
@protocol ALTAddAppleIDDelegate <NSObject>
14+
- (void)didAddAppleID;
15+
@end
16+
17+
@interface ALTAddAppleIDViewController : NSViewController
18+
@property (nonatomic, weak) id <ALTAddAppleIDDelegate> delegate;
19+
@end
20+
21+
NS_ASSUME_NONNULL_END

0 commit comments

Comments
 (0)