Permalink
Browse files

Initial Commit

  • Loading branch information...
0 parents commit 04cc06b9baa31c31f605e9e7a21dd55bac0dd535 @xslim committed Jul 10, 2011
@@ -0,0 +1,272 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 5542349113C9D4B400C7C75A /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5542349013C9D4B400C7C75A /* AddressBook.framework */; };
+ 5542349313C9D4B400C7C75A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5542349213C9D4B400C7C75A /* Cocoa.framework */; };
+ 5542349D13C9D4B400C7C75A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5542349B13C9D4B400C7C75A /* InfoPlist.strings */; };
+ 554234A013C9D4B400C7C75A /* IMTestService.h in Resources */ = {isa = PBXBuildFile; fileRef = 5542349F13C9D4B400C7C75A /* IMTestService.h */; };
+ 554234A213C9D4B400C7C75A /* IMTestService.m in Sources */ = {isa = PBXBuildFile; fileRef = 554234A113C9D4B400C7C75A /* IMTestService.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 5542348D13C9D4B400C7C75A /* IMTestService.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IMTestService.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5542349013C9D4B400C7C75A /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
+ 5542349213C9D4B400C7C75A /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+ 5542349513C9D4B400C7C75A /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
+ 5542349613C9D4B400C7C75A /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
+ 5542349713C9D4B400C7C75A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 5542349A13C9D4B400C7C75A /* IMTestService-Info.plist */ = {isa = PBXFileReference; path = "IMTestService-Info.plist"; sourceTree = "<group>"; };
+ 5542349C13C9D4B400C7C75A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 5542349E13C9D4B400C7C75A /* IMTestService-Prefix.pch */ = {isa = PBXFileReference; path = "IMTestService-Prefix.pch"; sourceTree = "<group>"; };
+ 5542349F13C9D4B400C7C75A /* IMTestService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IMTestService.h; sourceTree = "<group>"; };
+ 554234A113C9D4B400C7C75A /* IMTestService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IMTestService.m; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 5542348A13C9D4B400C7C75A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5542349113C9D4B400C7C75A /* AddressBook.framework in Frameworks */,
+ 5542349313C9D4B400C7C75A /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 5542348213C9D4B400C7C75A = {
+ isa = PBXGroup;
+ children = (
+ 5542349813C9D4B400C7C75A /* IMTestService */,
+ 5542348F13C9D4B400C7C75A /* Frameworks */,
+ 5542348E13C9D4B400C7C75A /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 5542348E13C9D4B400C7C75A /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 5542348D13C9D4B400C7C75A /* IMTestService.bundle */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 5542348F13C9D4B400C7C75A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 5542349013C9D4B400C7C75A /* AddressBook.framework */,
+ 5542349213C9D4B400C7C75A /* Cocoa.framework */,
+ 5542349413C9D4B400C7C75A /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 5542349413C9D4B400C7C75A /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 5542349513C9D4B400C7C75A /* AppKit.framework */,
+ 5542349613C9D4B400C7C75A /* CoreData.framework */,
+ 5542349713C9D4B400C7C75A /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 5542349813C9D4B400C7C75A /* IMTestService */ = {
+ isa = PBXGroup;
+ children = (
+ 5542349F13C9D4B400C7C75A /* IMTestService.h */,
+ 554234A113C9D4B400C7C75A /* IMTestService.m */,
+ 5542349913C9D4B400C7C75A /* Supporting Files */,
+ );
+ path = IMTestService;
+ sourceTree = "<group>";
+ };
+ 5542349913C9D4B400C7C75A /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 5542349A13C9D4B400C7C75A /* IMTestService-Info.plist */,
+ 5542349B13C9D4B400C7C75A /* InfoPlist.strings */,
+ 5542349E13C9D4B400C7C75A /* IMTestService-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 5542348C13C9D4B400C7C75A /* IMTestService */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 554234A513C9D4B400C7C75A /* Build configuration list for PBXNativeTarget "IMTestService" */;
+ buildPhases = (
+ 5542348913C9D4B400C7C75A /* Sources */,
+ 5542348A13C9D4B400C7C75A /* Frameworks */,
+ 5542348B13C9D4B400C7C75A /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = IMTestService;
+ productName = IMTestService;
+ productReference = 5542348D13C9D4B400C7C75A /* IMTestService.bundle */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 5542348413C9D4B400C7C75A /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 5542348713C9D4B400C7C75A /* Build configuration list for PBXProject "IMTestService" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 5542348213C9D4B400C7C75A;
+ productRefGroup = 5542348E13C9D4B400C7C75A /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 5542348C13C9D4B400C7C75A /* IMTestService */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 5542348B13C9D4B400C7C75A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5542349D13C9D4B400C7C75A /* InfoPlist.strings in Resources */,
+ 554234A013C9D4B400C7C75A /* IMTestService.h in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 5542348913C9D4B400C7C75A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 554234A213C9D4B400C7C75A /* IMTestService.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 5542349B13C9D4B400C7C75A /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 5542349C13C9D4B400C7C75A /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 554234A313C9D4B400C7C75A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 554234A413C9D4B400C7C75A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 554234A613C9D4B400C7C75A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "IMTestService/IMTestService-Prefix.pch";
+ INFOPLIST_FILE = "IMTestService/IMTestService-Info.plist";
+ INSTALL_PATH = "$(HOME)/Developer/Palettes";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Debug;
+ };
+ 554234A713C9D4B400C7C75A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "IMTestService/IMTestService-Prefix.pch";
+ INFOPLIST_FILE = "IMTestService/IMTestService-Info.plist";
+ INSTALL_PATH = "$(HOME)/Developer/Palettes";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 5542348713C9D4B400C7C75A /* Build configuration list for PBXProject "IMTestService" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 554234A313C9D4B400C7C75A /* Debug */,
+ 554234A413C9D4B400C7C75A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 554234A513C9D4B400C7C75A /* Build configuration list for PBXNativeTarget "IMTestService" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 554234A613C9D4B400C7C75A /* Debug */,
+ 554234A713C9D4B400C7C75A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 5542348413C9D4B400C7C75A /* Project object */;
+}
@@ -0,0 +1,28 @@
+<?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>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.kalapun.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSHumanReadableCopyright</key>
+ <string>Copyright © 2011 __MyCompanyName__. All rights reserved.</string>
+ <key>NSPrincipalClass</key>
+ <string>IMTestService</string>
+</dict>
+</plist>
@@ -0,0 +1,8 @@
+//
+// Prefix header for all source files of the 'IMTestService' target in the 'IMTestService' project
+//
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+ #import <AddressBook/AddressBook.h>
+#endif
@@ -0,0 +1,31 @@
+//
+// IMTestService.h
+// IMTestService
+//
+// Created by Taras Kalapun on 10.07.11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <AddressBook/AddressBook.h>
+#import "IMTestService.h"
+
+@interface IMTestService : NSObject
+
+// Returns the property this action is for.
+- (NSString *)actionProperty;
+
+// Returns the title for this action. The current person is passed in as person.
+// If the actionProperty is a multiValue type, identifier will contain the identifier
+// of the item the user rolled over. If the actionProperty is not a multiValue type
+// identifier will be nil.
+- (NSString *)titleForPerson:(ABPerson *)person identifier:(NSString *)identifier;
+
+// This method is called when the user selects your action. As above, this method
+// is passed information about the data item rolled over.
+- (void)performActionForPerson:(ABPerson *)person identifier:(NSString *)identifier;
+
+// Optional. Your action will always be enabled in the absence of this method. As
+// above, this method is passed information about the data item rolled over.
+- (BOOL)shouldEnableActionForPerson:(ABPerson *)person identifier:(NSString *)identifier;
+
+@end
@@ -0,0 +1,46 @@
+//
+// IMTestService.m
+// IMTestService
+//
+// Created by Taras Kalapun on 10.07.11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "IMTestService.h"
+
+@implementation IMTestService
+
+// This example action works with phone numbers.
+- (NSString *)actionProperty
+{
+ return kABPhoneProperty;
+}
+
+// Our menu title will look like Speak 555-1212
+- (NSString *)titleForPerson:(ABPerson *)person identifier:(NSString *)identifier
+{
+ ABMultiValue *values = [person valueForProperty:[self actionProperty]];
+ NSString *value = [values valueForIdentifier:identifier];
+
+ return [NSString stringWithFormat:@"Speak %@", value];
+}
+
+// This method is called when the user selects your action. As above, this method
+// is passed information about the data item rolled over.
+- (void)performActionForPerson:(ABPerson *)person identifier:(NSString *)identifier
+{
+ ABMultiValue *values = [person valueForProperty:[self actionProperty]];
+ NSString *value = [values valueForIdentifier:identifier];
+
+ NSSpeechSynthesizer *speech = [[NSSpeechSynthesizer alloc] initWithVoice:[NSSpeechSynthesizer defaultVoice]];
+ [speech startSpeakingString:value];
+}
+
+// Optional. Your action will always be enabled in the absence of this method. As
+// above, this method is passed information about the data item rolled over.
+- (BOOL)shouldEnableActionForPerson:(ABPerson *)person identifier:(NSString *)identifier
+{
+ return YES;
+}
+
+@end
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+

0 comments on commit 04cc06b

Please sign in to comment.