Browse Source

APPLEMAIL-51 Add PEPObjCAdapterXPCService project.

APPLEMAIL-51
David Alarcon 1 year ago
parent
commit
8e69e2f17d
22 changed files with 1348 additions and 74 deletions
  1. +24
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCApiClient/Interface/PEPObjCAdapterXPCApiClientService.h
  2. +90
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCApiClient/XPCService/PEPObjCAdapterXPCApiClientService.m
  3. +717
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/project.pbxproj
  4. +7
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  5. +8
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  6. +109
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/xcshareddata/xcschemes/PEPObjCAdapterXPCService.xcscheme
  7. +15
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/Interface/PEPObjCAdapterXPCService.h
  8. +19
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/XPCService/PEPObjCAdapterXPCApi.h
  9. +49
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/XPCService/PEPObjCAdapterXPCApi.m
  10. +65
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/XPCService/PEPObjCAdapterXPCService.m
  11. +22
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCServiceTests/Info.plist
  12. +36
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCServiceTests/PEPObjCAdapterXPCServiceTests.m
  13. +22
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXpcApiClientTests/Info.plist
  14. +36
    -0
      Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXpcApiClientTests/PEPObjCAdapterXpcApiClientTests.m
  15. +18
    -0
      Subprojects/PEPObjCAdapterXPCService/Scripts/Install.sh
  16. +14
    -0
      Subprojects/PEPObjCAdapterXPCService/Scripts/Uninstall.sh
  17. +28
    -0
      Subprojects/PEPObjCAdapterXPCService/Shared/PEPObjCAdapterXpcApiProtocol.h
  18. +25
    -0
      Subprojects/PEPObjCAdapterXPCService/Shared/PEPObjCAdapterXpcApiResult.h
  19. +41
    -0
      Subprojects/PEPObjCAdapterXPCService/Shared/PEPObjCAdapterXpcApiResult.m
  20. +2
    -2
      pEpMacOSAdapter.xcodeproj/project.pbxproj
  21. +1
    -1
      pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/pEpMacOSAdapter.xcscheme
  22. +0
    -71
      pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/pEpUpdater Test.xcscheme

+ 24
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCApiClient/Interface/PEPObjCAdapterXPCApiClientService.h View File

@ -0,0 +1,24 @@
//
// PEPXPCApiClientService.h
// PEPObjCAdapterXpcApiClient
//
// Created by David Alarcon on 13/1/21.
//
#import <Foundation/Foundation.h>
#import "PEPSessionProtocol.h"
@class PEPIdentity;
NS_ASSUME_NONNULL_BEGIN
@interface PEPObjCAdapterXPCApiClientService : NSObject <PEPSessionProtocol>
+ (instancetype)shared;
- (void)start;
- (void)stop;
@end
NS_ASSUME_NONNULL_END

+ 90
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCApiClient/XPCService/PEPObjCAdapterXPCApiClientService.m View File

@ -0,0 +1,90 @@
//
// PEPXPCApiClientService.m
// PEPObjCAdapterXpcApiClient
//
// Created by David Alarcon on 13/1/21.
//
#import "PEPObjCAdapterXPCApiClientService.h"
#import "PEPObjCAdapterXpcApiProtocol.h"
#import "PEPObjCAdapterXpcApiResult.h"
#import "PEPIdentity.h"
#import "PEPMessage.h"
@interface PEPObjCAdapterXPCApiClientService() <NSXPCListenerDelegate>
@property (nonatomic) NSXPCConnection *connection;
@property (nonatomic) NSError *connectionError;
@end
@implementation PEPObjCAdapterXPCApiClientService
// MARK: - Singleton
+ (id)shared {
static PEPObjCAdapterXPCApiClientService *sharedPEPObjCAdapterXPCApiClientService = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedPEPObjCAdapterXPCApiClientService = [[self alloc] init];
});
return sharedPEPObjCAdapterXPCApiClientService;
}
// MARK: - Init
- (void)start {
[self connectToXPCService];
}
- (void)stop {
self.connection = nil;
}
// MARK: - Private
- (void)connectToXPCService {
self.connection = [[NSXPCConnection alloc] initWithMachServiceName:daemonLabel
options:0];
NSXPCInterface *remoteObjectInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPObjCAdapterXpcApiProtocol)];
self.connection.remoteObjectInterface = remoteObjectInterface;
// New connections always start in a suspended state
[self.connection resume];
}
// MARK: - PEPSessionProtocol
- (void)mySelf:(nonnull PEPIdentity *)identity
errorCallback:(nonnull void (^)(NSError * _Nonnull))errorCallback
successCallback:(nonnull void (^)(PEPIdentity * _Nonnull))successCallback {
[[self.connection remoteObjectProxyWithErrorHandler:^(NSError * _Nonnull error) {
errorCallback(error);
}] myself:identity resultBlock:^(PEPObjCAdapterXpcApiResult * _Nonnull result) {
if (result.result.count) {
PEPIdentity *callbackIdentity = [result.result firstObject];
successCallback(callbackIdentity);
} else {
// Nothing to do
}
}];
}
/// Encrypt a message with explicit encryption format.
- (void)encryptMessage:(PEPMessage *)message
extraKeys:(PEPStringList *_Nullable)extraKeys
encFormat:(PEPEncFormat)encFormat
errorCallback:(void (^)(NSError *error))errorCallback
successCallback:(void (^)(PEPMessage *srcMessage,
PEPMessage *destMessage))successCallback {
[[self.connection remoteObjectProxyWithErrorHandler:^(NSError * _Nonnull error) {
errorCallback(error);
}] encryptMessage:message extraKeys:extraKeys encFormat:encFormat
resultBlock:^(PEPObjCAdapterXpcApiResult * _Nonnull result) {
PEPMessage *srcMessage = result.result[0];
PEPMessage *destMessage = result.result[1];
successCallback(srcMessage, destMessage);
}];
}
@end

+ 717
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/project.pbxproj View File

@ -0,0 +1,717 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
4E9F566E25D3F67C005BD46F /* PEPObjCAdapterXpcApiProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */; };
4E9F567625D3F688005BD46F /* PEPObjCAdapterXpcApiResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */; };
4E9F567E25D3F68D005BD46F /* PEPObjCAdapterXpcApiResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */; };
4E9F569925D3F746005BD46F /* PEPObjCAdapterXPCApiClientService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EC2A68925AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E9F56DE25D3F899005BD46F /* PEPObjCAdapterXPCApiClientService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC2A68A25AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.m */; };
4E9F570E25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E9F570D25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a */; };
4E9F571025D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E9F570F25D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a */; };
4EC2A5EB25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC2A5EA25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m */; };
4ED6F5DC25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F5DB25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m */; };
4ED6F72825D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F72725D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h */; };
4ED6F72A25D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F72925D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m */; };
4ED6F74725D2ED2E008BCE79 /* PEPObjCAdapterXpcApiProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
4ED6F74F25D2ED34008BCE79 /* PEPObjCAdapterXpcApiResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
4ED6F76D25D2ED41008BCE79 /* PEPObjCAdapterXPCApi.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62C25D2D983008BCE79 /* PEPObjCAdapterXPCApi.h */; };
4ED6F77525D2ED44008BCE79 /* PEPObjCAdapterXPCApi.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F62E25D2D983008BCE79 /* PEPObjCAdapterXPCApi.m */; };
4ED6F78525D2ED4F008BCE79 /* PEPObjCAdapterXpcApiResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */; };
4ED6F78D25D2F062008BCE79 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4ED6F69525D2DE13008BCE79 /* libz.tbd */; };
4ED6F79525D2F069008BCE79 /* libiconv.2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4ED6F68D25D2DDE6008BCE79 /* libiconv.2.tbd */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
4E9F565725D3F54B005BD46F /* libPEPObjCAdapterXPCApiClient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPObjCAdapterXPCApiClient.a; sourceTree = BUILT_PRODUCTS_DIR; };
4E9F570D25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapterTypes_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
4E9F570F25D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapter_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
4EC2A5E525AEFCC9000ACF79 /* PEPObjCAdapterXPCTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PEPObjCAdapterXPCTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4EC2A5EA25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXpcApiClientTests.m; sourceTree = "<group>"; };
4EC2A5EC25AEFCC9000ACF79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4EC2A62A25AEFFEB000ACF79 /* Uninstall.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = Uninstall.sh; sourceTree = "<group>"; };
4EC2A62B25AEFFEB000ACF79 /* Install.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = Install.sh; sourceTree = "<group>"; };
4EC2A68925AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXPCApiClientService.h; sourceTree = "<group>"; };
4EC2A68A25AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCApiClientService.m; sourceTree = "<group>"; };
4ED6F5D625D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PEPObjCAdapterXPCServiceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4ED6F5DB25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCServiceTests.m; sourceTree = "<group>"; };
4ED6F5DD25D2D39C008BCE79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXpcApiResult.m; sourceTree = "<group>"; };
4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXpcApiResult.h; sourceTree = "<group>"; };
4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXpcApiProtocol.h; sourceTree = "<group>"; };
4ED6F62C25D2D983008BCE79 /* PEPObjCAdapterXPCApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXPCApi.h; sourceTree = "<group>"; };
4ED6F62E25D2D983008BCE79 /* PEPObjCAdapterXPCApi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCApi.m; sourceTree = "<group>"; };
4ED6F68D25D2DDE6008BCE79 /* libiconv.2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.2.tbd; path = usr/lib/libiconv.2.tbd; sourceTree = SDKROOT; };
4ED6F69525D2DE13008BCE79 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
4ED6F72525D2ECE5008BCE79 /* libPEPObjCAdapterXPCService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPObjCAdapterXPCService.a; sourceTree = BUILT_PRODUCTS_DIR; };
4ED6F72725D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXPCService.h; sourceTree = "<group>"; };
4ED6F72925D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCService.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
4E9F565525D3F54B005BD46F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4E9F570E25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4EC2A5E225AEFCC9000ACF79 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
4ED6F5D325D2D39C008BCE79 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
4ED6F72325D2ECE5008BCE79 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4ED6F79525D2F069008BCE79 /* libiconv.2.tbd in Frameworks */,
4ED6F78D25D2F062008BCE79 /* libz.tbd in Frameworks */,
4E9F571025D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
4E2F30A825D2887C002AFD0C /* Interface */ = {
isa = PBXGroup;
children = (
4EC2A68925AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.h */,
);
path = Interface;
sourceTree = "<group>";
};
4E2F30AB25D288B5002AFD0C /* XPCService */ = {
isa = PBXGroup;
children = (
4EC2A68A25AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.m */,
);
path = XPCService;
sourceTree = "<group>";
};
4E9F565825D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */ = {
isa = PBXGroup;
children = (
4E2F30A825D2887C002AFD0C /* Interface */,
4E2F30AB25D288B5002AFD0C /* XPCService */,
);
path = PEPObjCAdapterXPCApiClient;
sourceTree = "<group>";
};
4EA9B4B525BF005A0048427E /* Frameworks */ = {
isa = PBXGroup;
children = (
4E9F570D25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a */,
4ED6F69525D2DE13008BCE79 /* libz.tbd */,
4E9F570F25D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a */,
4ED6F68D25D2DDE6008BCE79 /* libiconv.2.tbd */,
);
name = Frameworks;
sourceTree = "<group>";
};
4EC2A5D225AEFCC8000ACF79 = {
isa = PBXGroup;
children = (
4ED6F7CB25D2F4DA008BCE79 /* Shared */,
4E9F565825D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */,
4ED6F72625D2ECE5008BCE79 /* PEPObjCAdapterXPCService */,
4EC2A5E925AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests */,
4ED6F5DA25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */,
4EC2A62925AEFFEB000ACF79 /* Scripts */,
4EC2A5DD25AEFCC8000ACF79 /* Products */,
4EA9B4B525BF005A0048427E /* Frameworks */,
);
sourceTree = "<group>";
};
4EC2A5DD25AEFCC8000ACF79 /* Products */ = {
isa = PBXGroup;
children = (
4EC2A5E525AEFCC9000ACF79 /* PEPObjCAdapterXPCTests.xctest */,
4ED6F5D625D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.xctest */,
4ED6F72525D2ECE5008BCE79 /* libPEPObjCAdapterXPCService.a */,
4E9F565725D3F54B005BD46F /* libPEPObjCAdapterXPCApiClient.a */,
);
name = Products;
sourceTree = "<group>";
};
4EC2A5E925AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests */ = {
isa = PBXGroup;
children = (
4EC2A5EA25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m */,
4EC2A5EC25AEFCC9000ACF79 /* Info.plist */,
);
path = PEPObjCAdapterXpcApiClientTests;
sourceTree = "<group>";
};
4EC2A62925AEFFEB000ACF79 /* Scripts */ = {
isa = PBXGroup;
children = (
4EC2A62A25AEFFEB000ACF79 /* Uninstall.sh */,
4EC2A62B25AEFFEB000ACF79 /* Install.sh */,
);
path = Scripts;
sourceTree = "<group>";
};
4ED6F5DA25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */ = {
isa = PBXGroup;
children = (
4ED6F5DB25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m */,
4ED6F5DD25D2D39C008BCE79 /* Info.plist */,
);
path = PEPObjCAdapterXPCServiceTests;
sourceTree = "<group>";
};
4ED6F62025D2D5A4008BCE79 /* Interface */ = {
isa = PBXGroup;
children = (
4ED6F72725D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h */,
);
path = Interface;
sourceTree = "<group>";
};
4ED6F62B25D2D6CD008BCE79 /* XPCService */ = {
isa = PBXGroup;
children = (
4ED6F62C25D2D983008BCE79 /* PEPObjCAdapterXPCApi.h */,
4ED6F62E25D2D983008BCE79 /* PEPObjCAdapterXPCApi.m */,
4ED6F72925D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m */,
);
path = XPCService;
sourceTree = "<group>";
};
4ED6F72625D2ECE5008BCE79 /* PEPObjCAdapterXPCService */ = {
isa = PBXGroup;
children = (
4ED6F62025D2D5A4008BCE79 /* Interface */,
4ED6F62B25D2D6CD008BCE79 /* XPCService */,
);
path = PEPObjCAdapterXPCService;
sourceTree = "<group>";
};
4ED6F7CB25D2F4DA008BCE79 /* Shared */ = {
isa = PBXGroup;
children = (
4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */,
4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */,
4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */,
);
path = Shared;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
4E9F565325D3F54B005BD46F /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
4E9F569925D3F746005BD46F /* PEPObjCAdapterXPCApiClientService.h in Headers */,
4E9F566E25D3F67C005BD46F /* PEPObjCAdapterXpcApiProtocol.h in Headers */,
4E9F567625D3F688005BD46F /* PEPObjCAdapterXpcApiResult.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4ED6F72125D2ECE5008BCE79 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
4ED6F72825D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h in Headers */,
4ED6F74725D2ED2E008BCE79 /* PEPObjCAdapterXpcApiProtocol.h in Headers */,
4ED6F76D25D2ED41008BCE79 /* PEPObjCAdapterXPCApi.h in Headers */,
4ED6F74F25D2ED34008BCE79 /* PEPObjCAdapterXpcApiResult.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
4E9F565625D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4E9F565D25D3F54C005BD46F /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCApiClient" */;
buildPhases = (
4E9F565325D3F54B005BD46F /* Headers */,
4E9F565425D3F54B005BD46F /* Sources */,
4E9F565525D3F54B005BD46F /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = PEPObjCAdapterXPCApiClient;
productName = PEPObjCAdapterXPCApiClient;
productReference = 4E9F565725D3F54B005BD46F /* libPEPObjCAdapterXPCApiClient.a */;
productType = "com.apple.product-type.library.static";
};
4EC2A5E425AEFCC9000ACF79 /* PEPObjCAdapterXPCTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4EC2A5F325AEFCC9000ACF79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCTests" */;
buildPhases = (
4EC2A5E125AEFCC9000ACF79 /* Sources */,
4EC2A5E225AEFCC9000ACF79 /* Frameworks */,
4EC2A5E325AEFCC9000ACF79 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = PEPObjCAdapterXPCTests;
productName = PEPObjCAdapterXpcApiClientTests;
productReference = 4EC2A5E525AEFCC9000ACF79 /* PEPObjCAdapterXPCTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
4ED6F5D525D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4ED6F5E425D2D39C008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCServiceTests" */;
buildPhases = (
4ED6F5D225D2D39C008BCE79 /* Sources */,
4ED6F5D325D2D39C008BCE79 /* Frameworks */,
4ED6F5D425D2D39C008BCE79 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = PEPObjCAdapterXPCServiceTests;
productName = PEPObjCAdapterXPCServiceTests;
productReference = 4ED6F5D625D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
4ED6F72425D2ECE5008BCE79 /* PEPObjCAdapterXPCService */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4ED6F72B25D2ECE5008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCService" */;
buildPhases = (
4ED6F72125D2ECE5008BCE79 /* Headers */,
4ED6F72225D2ECE5008BCE79 /* Sources */,
4ED6F72325D2ECE5008BCE79 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = PEPObjCAdapterXPCService;
productName = PEPObjCAdapterXPCService_macOS;
productReference = 4ED6F72525D2ECE5008BCE79 /* libPEPObjCAdapterXPCService.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
4EC2A5D325AEFCC8000ACF79 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1230;
TargetAttributes = {
4E9F565625D3F54B005BD46F = {
CreatedOnToolsVersion = 12.4;
};
4EC2A5E425AEFCC9000ACF79 = {
CreatedOnToolsVersion = 12.3;
};
4ED6F5D525D2D39C008BCE79 = {
CreatedOnToolsVersion = 12.4;
};
4ED6F72425D2ECE5008BCE79 = {
CreatedOnToolsVersion = 12.4;
};
};
};
buildConfigurationList = 4EC2A5D625AEFCC8000ACF79 /* Build configuration list for PBXProject "PEPObjCAdapterXPCService" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 4EC2A5D225AEFCC8000ACF79;
productRefGroup = 4EC2A5DD25AEFCC8000ACF79 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
4ED6F72425D2ECE5008BCE79 /* PEPObjCAdapterXPCService */,
4E9F565625D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */,
4EC2A5E425AEFCC9000ACF79 /* PEPObjCAdapterXPCTests */,
4ED6F5D525D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
4EC2A5E325AEFCC9000ACF79 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
4ED6F5D425D2D39C008BCE79 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
4E9F565425D3F54B005BD46F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4E9F56DE25D3F899005BD46F /* PEPObjCAdapterXPCApiClientService.m in Sources */,
4E9F567E25D3F68D005BD46F /* PEPObjCAdapterXpcApiResult.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4EC2A5E125AEFCC9000ACF79 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4EC2A5EB25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4ED6F5D225D2D39C008BCE79 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4ED6F5DC25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4ED6F72225D2ECE5008BCE79 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4ED6F77525D2ED44008BCE79 /* PEPObjCAdapterXPCApi.m in Sources */,
4ED6F72A25D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m in Sources */,
4ED6F78525D2ED4F008BCE79 /* PEPObjCAdapterXpcApiResult.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
4E9F565E25D3F54C005BD46F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Debug;
};
4E9F565F25D3F54C005BD46F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Release;
};
4EC2A5EE25AEFCC9000ACF79 /* 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;
CURRENT_PROJECT_VERSION = 1;
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;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../../pEpObjCAdapter/PEPObjCAdapterTypes/PublicHeaders",
"$(PROJECT_DIR)/../../../pEpObjCAdapter/pEpObjCAdapter/PublicHeaders",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"$(OTHER_LDFLAGS)",
"-ObjC",
);
SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
4EC2A5EF25AEFCC9000ACF79 /* 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;
CURRENT_PROJECT_VERSION = 1;
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;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../../pEpObjCAdapter/PEPObjCAdapterTypes/PublicHeaders",
"$(PROJECT_DIR)/../../../pEpObjCAdapter/pEpObjCAdapter/PublicHeaders",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
"$(OTHER_LDFLAGS)",
"-ObjC",
);
SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
4EC2A5F425AEFCC9000ACF79 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = NQLYU6MGPN;
INFOPLIST_FILE = PEPObjCAdapterXpcApiClientTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXpcApiClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
4EC2A5F525AEFCC9000ACF79 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = NQLYU6MGPN;
INFOPLIST_FILE = PEPObjCAdapterXpcApiClientTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXpcApiClientTests;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
4ED6F5E125D2D39C008BCE79 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = NQLYU6MGPN;
INFOPLIST_FILE = PEPObjCAdapterXPCServiceTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXPCServiceTests;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
4ED6F5E225D2D39C008BCE79 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = NQLYU6MGPN;
INFOPLIST_FILE = PEPObjCAdapterXPCServiceTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXPCServiceTests;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
4ED6F72C25D2ECE5008BCE79 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
HEADER_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Debug;
};
4ED6F72D25D2ECE5008BCE79 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
HEADER_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4E9F565D25D3F54C005BD46F /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCApiClient" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4E9F565E25D3F54C005BD46F /* Debug */,
4E9F565F25D3F54C005BD46F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4EC2A5D625AEFCC8000ACF79 /* Build configuration list for PBXProject "PEPObjCAdapterXPCService" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4EC2A5EE25AEFCC9000ACF79 /* Debug */,
4EC2A5EF25AEFCC9000ACF79 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4EC2A5F325AEFCC9000ACF79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4EC2A5F425AEFCC9000ACF79 /* Debug */,
4EC2A5F525AEFCC9000ACF79 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4ED6F5E425D2D39C008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCServiceTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4ED6F5E125D2D39C008BCE79 /* Debug */,
4ED6F5E225D2D39C008BCE79 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4ED6F72B25D2ECE5008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCService" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4ED6F72C25D2ECE5008BCE79 /* Debug */,
4ED6F72D25D2ECE5008BCE79 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 4EC2A5D325AEFCC8000ACF79 /* Project object */;
}

+ 7
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/project.xcworkspace/contents.xcworkspacedata View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

+ 8
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist View File

@ -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>

+ 109
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj/xcshareddata/xcschemes/PEPObjCAdapterXPCService.xcscheme View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1240"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
buildImplicitDependencies = "NO">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "18F3BFD61A81E06E00692297"
BuildableName = "libCocoaLumberjack.a"
BlueprintName = "CocoaLumberjack-Static"
ReferencedContainer = "container:../../../CocoaLumberjack/Lumberjack.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "15B220002603B04E0097927A"
BuildableName = "libPEPToolbox_macOS.a"
BlueprintName = "PEPToolbox_macOS"
ReferencedContainer = "container:../../../pep-toolbox/pEpIOSToolbox.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1552D93A2576602D00A92F71"
BuildableName = "libPEPObjCAdapter_macOS.a"
BlueprintName = "PEPObjCAdapter_macOS"
ReferencedContainer = "container:../../../pEpObjCAdapter/pEpObjCAdapter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4ED6F72425D2ECE5008BCE79"
BuildableName = "libPEPObjCAdapterXPCService.a"
BlueprintName = "PEPObjCAdapterXPCService"
ReferencedContainer = "container:PEPObjCAdapterXPCService.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4ED6F72425D2ECE5008BCE79"
BuildableName = "libPEPObjCAdapterXPCService.a"
BlueprintName = "PEPObjCAdapterXPCService"
ReferencedContainer = "container:PEPObjCAdapterXPCService.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

+ 15
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/Interface/PEPObjCAdapterXPCService.h View File

@ -0,0 +1,15 @@
//
// PEPObjCAdapterXPCService_macOS.h
// PEPObjCAdapterXPCService_macOS
//
// Created by David Alarcon on 9/2/21.
//
#import <Foundation/Foundation.h>
@interface PEPObjCAdapterXPCService : NSObject <NSXPCListenerDelegate>
/// Begin listening for incoming XPC connections
- (void) start;
@end

+ 19
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/XPCService/PEPObjCAdapterXPCApi.h View File

@ -0,0 +1,19 @@
//
// PEPObjCAdapterXPCApi.h
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "PEPObjCAdapterXpcApiProtocol.h"
NS_ASSUME_NONNULL_BEGIN
@interface PEPObjCAdapterXPCApi : NSObject <PEPObjCAdapterXpcApiProtocol>
@end
NS_ASSUME_NONNULL_END

+ 49
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/XPCService/PEPObjCAdapterXPCApi.m View File

@ -0,0 +1,49 @@
//
// PEPObjCAdapterXPCApi.m
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import "PEPObjCAdapterXPCApi.h"
#import "PEPSession.h"
#import "PEPIdentity.h"
#import "PEPObjCAdapterXpcApiResult.h"
@implementation PEPObjCAdapterXPCApi
- (void)myself:(PEPIdentity *)identity resultBlock:(void (^)(PEPObjCAdapterXpcApiResult * _Nonnull))resultCallback {
PEPSession *session = [PEPSession new];
[session mySelf:identity errorCallback:^(NSError * _Nonnull error) {
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc] initWithResult:nil error:error];
resultCallback(result);
} successCallback:^(PEPIdentity * _Nonnull identity) {
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc] initWithResult:@[identity] error:nil];
resultCallback(result);
}];
}
- (void)encryptMessage:(PEPMessage *)message
extraKeys:(PEPStringList * _Nullable)extraKeys
encFormat:(PEPEncFormat)encFormat
resultBlock:(void (^)(PEPObjCAdapterXpcApiResult *))resultCallback {
NSLog(@"%s", __PRETTY_FUNCTION__);
PEPSession *session = [PEPSession new];
[session encryptMessage:message extraKeys:extraKeys encFormat:encFormat
errorCallback:^(NSError * _Nonnull error) {
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc]
initWithResult:nil
error:error];
resultCallback(result);
} successCallback:^(PEPMessage * _Nonnull srcMessage, PEPMessage * _Nonnull destMessage) {
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc]
initWithResult:@[srcMessage, destMessage]
error:nil];
resultCallback(result);
}];
}
@end

+ 65
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/XPCService/PEPObjCAdapterXPCService.m View File

@ -0,0 +1,65 @@
//
// PEPObjCAdapterXPCService.m
// PEPObjCAdapterXPCService
//
// Created by David Alarcon on 9/2/21.
//
#import "PEPObjCAdapterXPCService.h"
#import "PEPObjCAdapterXpcApiResult.h"
#import "PEPIdentity.h"
#import "PEPMessage.h"
#import "PEPAttachment.h"
#import "PEPObjCAdapterXPCApi.h"
@interface PEPObjCAdapterXPCService ()
@property (nonatomic, strong, readwrite) NSXPCListener *listener;
@end
@implementation PEPObjCAdapterXPCService
- (id)init {
self.listener = [[NSXPCListener alloc] initWithMachServiceName:daemonLabel];
self.listener.delegate = self;
return self;
}
- (void)start {
// Begin listening for incoming XPC connections
[self.listener resume];
NSLog(@"Started objc adapter wrapper api service: %@", daemonLabel);
}
#pragma mark - NSXPCListenerDelegate
- (BOOL)listener:(NSXPCListener *)listener shouldAcceptNewConnection:(NSXPCConnection *)newConnection {
// Sanity checks
assert(listener == self.listener);
assert(newConnection != nil);
// Configure the incoming connection
NSXPCInterface *adapterInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPObjCAdapterXpcApiProtocol)];
[adapterInterface setClasses:[NSSet setWithObject:[PEPObjCAdapterXpcApiResult class]]
forSelector:@selector(myself:resultBlock:)
argumentIndex:0
ofReply:YES];
[adapterInterface setClasses:[NSSet setWithObject:[PEPIdentity class]]
forSelector:@selector(myself:resultBlock:)
argumentIndex:0
ofReply:NO];
newConnection.exportedInterface = adapterInterface;
newConnection.exportedObject = [PEPObjCAdapterXPCApi new];
// New connections always start in a suspended state
[newConnection resume];
return YES;
}
@end

+ 22
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCServiceTests/Info.plist View File

@ -0,0 +1,22 @@
<?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>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

+ 36
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCServiceTests/PEPObjCAdapterXPCServiceTests.m View File

@ -0,0 +1,36 @@
//
// PEPObjCAdapterXPCServiceTests.m
// PEPObjCAdapterXPCServiceTests
//
// Created by David Alarcon on 9/2/21.
//
#import <XCTest/XCTest.h>
@interface PEPObjCAdapterXPCServiceTests : XCTestCase
@end
@implementation PEPObjCAdapterXPCServiceTests
- (void)setUp {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
- (void)testExample {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
- (void)testPerformanceExample {
// This is an example of a performance test case.
[self measureBlock:^{
// Put the code you want to measure the time of here.
}];
}
@end

+ 22
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXpcApiClientTests/Info.plist View File

@ -0,0 +1,22 @@
<?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>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

+ 36
- 0
Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXpcApiClientTests/PEPObjCAdapterXpcApiClientTests.m View File

@ -0,0 +1,36 @@
//
// PEPObjCAdapterXpcApiClientTests.m
// PEPObjCAdapterXpcApiClientTests
//
// Created by David Alarcon on 13/1/21.
//
#import <XCTest/XCTest.h>
@interface PEPObjCAdapterXpcApiClientTests : XCTestCase
@end
@implementation PEPObjCAdapterXpcApiClientTests
- (void)setUp {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
- (void)testExample {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
- (void)testPerformanceExample {
// This is an example of a performance test case.
[self measureBlock:^{
// Put the code you want to measure the time of here.
}];
}
@end

+ 18
- 0
Subprojects/PEPObjCAdapterXPCService/Scripts/Install.sh View File

@ -0,0 +1,18 @@
#!/bin/sh
# Install.sh
# pEpXPCAdapterClient
#
# Created by David Alarcon on 14/09/2020.
# Copyright © 2020 p≡p foundation. All rights reserved.
BUILT_PRODUCTS_DIR=$1
# Copy the daemon's launchd.plist into /Library/LaunchDaemons
for framework in PEPObjCAdapterXpcApiClient.framework
do
trg=/Library/Frameworks/
rsync -av ${BUILT_PRODUCTS_DIR}/${framework} ${trg}
chown -R root:wheel ${trg}/${framework}
chmod -R 755 ${trg}/${framework}
done

+ 14
- 0
Subprojects/PEPObjCAdapterXPCService/Scripts/Uninstall.sh View File

@ -0,0 +1,14 @@
#!/bin/sh
# Uninstall.sh
# pEpXPCAdapterClient
#
# Created by David Alarcon on 14/09/2020.
# Copyright © 2020 p≡p foundation. All rights reserved.
echo "Uninstall Framework ..."
for framework in PEPObjCAdapterXpcApiClient.framework
do
trg=/Library/Frameworks/${framework}
rm -Rf ${trg}
done

+ 28
- 0
Subprojects/PEPObjCAdapterXPCService/Shared/PEPObjCAdapterXpcApiProtocol.h View File

@ -0,0 +1,28 @@
//
// PEPObjCAdapterXpcApiProtocol.h
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 15/1/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import "PEPTypes.h"
#import "PEPEngineTypes.h"
static NSString * _Nonnull daemonLabel = @"pEp.foundation.pEpXPCAdapter_OpenStep";
@class PEPIdentity, PEPObjCAdapterXpcApiResult, PEPMessage;
NS_ASSUME_NONNULL_BEGIN
@protocol PEPObjCAdapterXpcApiProtocol <NSObject>
- (void)myself:(PEPIdentity *)identity resultBlock:(void (^)(PEPObjCAdapterXpcApiResult *))resultCallback;
- (void)encryptMessage:(PEPMessage *)message
extraKeys:(PEPStringList *_Nullable)extraKeys
encFormat:(PEPEncFormat)encFormat
resultBlock:(void (^)(PEPObjCAdapterXpcApiResult *))resultCallback;
@end
NS_ASSUME_NONNULL_END

+ 25
- 0
Subprojects/PEPObjCAdapterXPCService/Shared/PEPObjCAdapterXpcApiResult.h View File

@ -0,0 +1,25 @@
//
// PEPObjCAdapterXpcApiResult.h
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 15/1/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface PEPObjCAdapterXpcApiResult : NSObject <NSSecureCoding>
@property (readonly, nonatomic, strong) NSError *error;
@property (readonly, nonatomic, copy) NSArray* result;
/**
Well documented
*/
- (instancetype)initWithResult:(NSArray* __nullable)result error:(NSError * __nullable)error;
@end
NS_ASSUME_NONNULL_END

+ 41
- 0
Subprojects/PEPObjCAdapterXPCService/Shared/PEPObjCAdapterXpcApiResult.m View File

@ -0,0 +1,41 @@
//
// PEPObjCAdapterXpcApiResult.m
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 15/1/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import "PEPObjCAdapterXpcApiResult.h"
@implementation PEPObjCAdapterXpcApiResult
- (instancetype)initWithResult:(NSArray *)result error:(NSError *)error {
if (self = [self init]) {
_result = result;
_error = error;
}
return self;
}
- (void)encodeWithCoder:(nonnull NSCoder *)coder {
[coder encodeObject:self.result forKey:@"result"];
[coder encodeObject:self.error forKey:@"error"];
}
- (nullable instancetype)initWithCoder:(nonnull NSCoder *)coder {
if (self = [self init]) {
NSArray<Class> *classes = @[[NSArray class], [NSObject class]];
_result = [coder decodeObjectOfClasses:[NSSet setWithArray:classes] forKey:@"result"];
_error = [coder decodeObjectOfClass:[NSError class] forKey:@"error"];
}
return self;
}
+ (BOOL)supportsSecureCoding {
return YES;
}
@end

+ 2
- 2
pEpMacOSAdapter.xcodeproj/project.pbxproj View File

@ -240,7 +240,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"${PROJECT_DIR}/../local/include",
"$(PROJECT_DIR)/../pep4applemail/Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/Interface",
"$(PROJECT_DIR)/Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/Interface",
"$(PROJECT_DIR)/Subprojects/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/Interface/",
);
LIBRARY_SEARCH_PATHS = "";
@ -303,7 +303,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"${PROJECT_DIR}/../local/include",
"$(PROJECT_DIR)/../pep4applemail/Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/Interface",
"$(PROJECT_DIR)/Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService/Interface",
"$(PROJECT_DIR)/Subprojects/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/Interface/",
);
LIBRARY_SEARCH_PATHS = "";


+ 1
- 1
pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/pEpMacOSAdapter.xcscheme View File

@ -73,7 +73,7 @@
BlueprintIdentifier = "4ED6F72425D2ECE5008BCE79"
BuildableName = "libPEPObjCAdapterXPCService.a"
BlueprintName = "PEPObjCAdapterXPCService"
ReferencedContainer = "container:../pep4applemail/Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj">
ReferencedContainer = "container:Subprojects/PEPObjCAdapterXPCService/PEPObjCAdapterXPCService.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry


+ 0
- 71
pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/pEpUpdater Test.xcscheme View File

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1200"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "35F06976247DC95A00543884"
BuildableName = "pEpUpdater Test.xctest"
BlueprintName = "pEpUpdater Test"
ReferencedContainer = "container:pEpMacOSAdapter.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3527B2AD24802F84007A6276"
BuildableName = "p&#x2261;p updates.app"
BlueprintName = "p&#x2261;p updates"
ReferencedContainer = "container:Submodules/pEpNotifications/pEpNotifications.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3527B2AD24802F84007A6276"
BuildableName = "p&#x2261;p updates.app"
BlueprintName = "p&#x2261;p updates"
ReferencedContainer = "container:Submodules/pEpNotifications/pEpNotifications.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

Loading…
Cancel
Save