aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar dmaclach <dmaclach@gmail.com>2018-11-13 11:19:10 -0800
committerGravatar GitHub <noreply@github.com>2018-11-13 11:19:10 -0800
commit1ecebbcaccd95ad0f60d5f67685867a26b505b3e (patch)
treef8f3d367a219b9d0e56ca1a5d3400f5cb895ee5c
parent97545f2bb15572e87b982246cd747c96ec39dbf2 (diff)
Remove GTMLoginItems (#196)
This functionality is no longer supported on OS X. Use a LaunchAgent, XPCService or the ServiceManagement APIs instead.
-rw-r--r--AppKit/GTMLoginItems.h88
-rw-r--r--AppKit/GTMLoginItems.m342
-rw-r--r--AppKit/GTMLoginItemsTest.m138
-rw-r--r--GTM.xcodeproj/project.pbxproj12
4 files changed, 0 insertions, 580 deletions
diff --git a/AppKit/GTMLoginItems.h b/AppKit/GTMLoginItems.h
deleted file mode 100644
index 1e2015f..0000000
--- a/AppKit/GTMLoginItems.h
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// GTMLoginItems.h
-//
-// Copyright 2007-2008 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy
-// of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-//
-
-#import <Foundation/Foundation.h>
-#import "GTMDefines.h"
-
-/// Login items key constants, used as keys in |+loginItems|
-//
-// Item name
-GTM_EXTERN NSString * const kGTMLoginItemsNameKey;
-// Item path
-GTM_EXTERN NSString * const kGTMLoginItemsPathKey;
-// Hidden (NSNumber bool)
-GTM_EXTERN NSString * const kGTMLoginItemsHiddenKey;
-
-/// GTMLoginItems
-//
-/// A helper class to manipulate the user's Login Items.
-@interface GTMLoginItems : NSObject
-
-/// Obtain a complete list of all login items.
-//
-// Returns:
-// Autoreleased array of dictionaries keyed with kGTMLoginItemsPathKey, etc.
-//
-+ (NSArray *)loginItems:(NSError **)errorInfo;
-
-/// Check if the given path is in the current user's Login Items
-//
-// Args:
-// path: path to the application
-//
-// Returns:
-// YES if the path is in the Login Items
-//
-+ (BOOL)pathInLoginItems:(NSString *)path;
-
-/// Check if the given name is in the current user's Login Items
-//
-// Args:
-// name: name to the application
-//
-// Returns:
-// YES if the name is in the Login Items
-//
-+ (BOOL)itemWithNameInLoginItems:(NSString *)name;
-
-/// Add the given path to the current user's Login Items. Does nothing if the
-/// path is already there.
-//
-// Args:
-// path: path to add
-// hide: Set to YES to have the item launch hidden
-//
-+ (void)addPathToLoginItems:(NSString *)path hide:(BOOL)hide;
-
-/// Remove the given path from the current user's Login Items. Does nothing if
-/// the path is not there.
-//
-// Args:
-// path: the path to remove
-//
-+ (void)removePathFromLoginItems:(NSString *)path;
-
-/// Remove the given item name from the current user's Login Items. Does nothing
-/// if no item with that name is present.
-//
-// Args:
-// name: name of the item to remove
-//
-+ (void)removeItemWithNameFromLoginItems:(NSString *)name;
-
-@end
diff --git a/AppKit/GTMLoginItems.m b/AppKit/GTMLoginItems.m
deleted file mode 100644
index cd45418..0000000
--- a/AppKit/GTMLoginItems.m
+++ /dev/null
@@ -1,342 +0,0 @@
-//
-// GTMLoginItems.m
-// Based on AELoginItems from DTS.
-//
-// Copyright 2007-2008 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy
-// of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-//
-
-#import "GTMLoginItems.h"
-#import "GTMDefines.h"
-
-#include <Carbon/Carbon.h>
-
-// Exposed constants
-NSString * const kGTMLoginItemsNameKey = @"Name";
-NSString * const kGTMLoginItemsPathKey = @"Path";
-NSString * const kGTMLoginItemsHiddenKey = @"Hide";
-
-// kLSSharedFileListLoginItemHidden is supported on
-// 10.5, but missing from the 10.5 headers.
-// http://openradar.appspot.com/6482251
-#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
-static NSString * const kLSSharedFileListLoginItemHidden =
- @"com.apple.loginitem.HideOnLaunch";
-#endif // MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
-
-@interface GTMLoginItems (PrivateMethods)
-+ (NSInteger)indexOfLoginItemWithValue:(id)value
- forKey:(NSString *)key
- loginItems:(NSArray *)items;
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-+ (LSSharedFileListRef)loginItemsFileListRef;
-+ (NSArray *)loginItemsArrayForFileListRef:(LSSharedFileListRef)fileListRef;
-#else // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-+ (BOOL)compileAndRunScript:(NSString *)script
- withError:(NSError **)errorInfo;
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-@end
-
-@implementation GTMLoginItems (PrivateMethods)
-
-+ (NSInteger)indexOfLoginItemWithValue:(id)value
- forKey:(NSString *)key
- loginItems:(NSArray *)items {
- if (!value || !key || !items) return NSNotFound;
- NSDictionary *item = nil;
- NSInteger found = -1;
- for (item in items) {
- ++found;
- id itemValue = [item objectForKey:key];
- if (itemValue && [itemValue isEqual:value]) {
- return found;
- }
- }
- return NSNotFound;
-}
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-+ (LSSharedFileListRef)loginItemsFileListRef {
- LSSharedFileListRef loginItemsRef =
- LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
- return (LSSharedFileListRef)GTMCFAutorelease(loginItemsRef);
-}
-
-+ (NSArray *)loginItemsArrayForFileListRef:(LSSharedFileListRef)fileListRef {
- UInt32 seedValue;
- CFArrayRef filelistArrayRef = LSSharedFileListCopySnapshot(fileListRef,
- &seedValue);
- return GTMCFAutorelease(filelistArrayRef);
-}
-
-#else // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-+ (BOOL)compileAndRunScript:(NSString *)script
- withError:(NSError **)errorInfo {
- if ([script length] == 0) {
- // COV_NF_START - no real way to test this
- if (errorInfo)
- *errorInfo = [NSError errorWithDomain:@"GTMLoginItems" code:-90 userInfo:nil];
- return NO;
- // COV_NF_END
- }
- NSAppleScript *query = [[[NSAppleScript alloc] initWithSource:script] autorelease];
- NSDictionary *errDict = nil;
- if ( ![query compileAndReturnError:&errDict]) {
- // COV_NF_START - no real way to test this
- if (errorInfo)
- *errorInfo = [NSError errorWithDomain:@"GTMLoginItems" code:-91 userInfo:errDict];
- return NO;
- // COV_NF_END
- }
- NSAppleEventDescriptor *scriptResult = [query executeAndReturnError:&errDict];
- if (!scriptResult) {
- // COV_NF_START - no real way to test this
- if (errorInfo)
- *errorInfo = [NSError errorWithDomain:@"GTMLoginItems" code:-92 userInfo:errDict];
- return NO;
- // COV_NF_END
- }
- // we don't process the result
- return YES;
-}
-
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-@end
-
-@implementation GTMLoginItems
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-+ (NSArray*)loginItems:(NSError **)errorInfo {
- // get the login items from LaunchServices
- LSSharedFileListRef loginItemsRef = [self loginItemsFileListRef];
- if (!loginItemsRef) {
- // COV_NF_START - no real way to test this
- if (errorInfo) {
- *errorInfo = [NSError errorWithDomain:@"GTMLoginItems"
- code:-1
- userInfo:nil];
- }
- return nil;
- // COV_NF_END
- }
- NSArray *fileList = [self loginItemsArrayForFileListRef:loginItemsRef];
-
- // build our results
- NSMutableArray *result = [NSMutableArray array];
- for (id fileItem in fileList) {
- LSSharedFileListItemRef itemRef = (LSSharedFileListItemRef)fileItem;
- // name
- NSMutableDictionary *item = [NSMutableDictionary dictionary];
- CFStringRef nameRef = LSSharedFileListItemCopyDisplayName(itemRef);
- if (nameRef) {
- [item setObject:[(NSString *)nameRef stringByDeletingPathExtension]
- forKey:kGTMLoginItemsNameKey];
- CFRelease(nameRef);
- }
- // path
- CFURLRef urlRef = NULL;
- if (LSSharedFileListItemResolve(itemRef, 0, &urlRef, NULL) == noErr) {
- if (urlRef) {
- NSString *path = [(NSURL *)urlRef path];
- if (path) {
- [item setObject:path forKey:kGTMLoginItemsPathKey];
- }
- CFRelease(urlRef);
- }
- }
- // hidden
- CFBooleanRef hiddenRef = LSSharedFileListItemCopyProperty(itemRef,
- (CFStringRef)kLSSharedFileListLoginItemHidden);
- if (hiddenRef) {
- if (hiddenRef == kCFBooleanTrue) {
- [item setObject:[NSNumber numberWithBool:YES]
- forKey:kGTMLoginItemsHiddenKey];
- }
- CFRelease(hiddenRef);
- }
- [result addObject:item];
- }
-
- return result;
-}
-
-#else // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-+ (NSArray*)loginItems:(NSError **)errorInfo {
- NSDictionary *errDict = nil;
- // get the script compiled and saved off
- static NSAppleScript *query = nil;
- if (!query) {
- NSString *querySource = @"tell application \"System Events\" to get properties of login items";
- query = [[NSAppleScript alloc] initWithSource:querySource];
- if ( ![query compileAndReturnError:&errDict]) {
- // COV_NF_START - no real way to test this
- if (errorInfo)
- *errorInfo = [NSError errorWithDomain:@"GTMLoginItems" code:-1 userInfo:errDict];
- [query release];
- query = nil;
- return nil;
- // COV_NF_END
- }
- }
- // run the script
- NSAppleEventDescriptor *scriptResult = [query executeAndReturnError:&errDict];
- if (!scriptResult) {
- // COV_NF_START - no real way to test this
- if (errorInfo)
- *errorInfo = [NSError errorWithDomain:@"GTMLoginItems" code:-2 userInfo:errDict];
- return nil;
- // COV_NF_END
- }
- // build our results
- NSMutableArray *result = [NSMutableArray array];
- NSInteger count = [scriptResult numberOfItems];
- for (NSInteger i = 0; i < count; ++i) {
- NSAppleEventDescriptor *aeItem = [scriptResult descriptorAtIndex:i+1];
- NSAppleEventDescriptor *hidn = [aeItem descriptorForKeyword:kAEHidden];
- NSAppleEventDescriptor *nam = [aeItem descriptorForKeyword:pName];
- NSAppleEventDescriptor *ppth = [aeItem descriptorForKeyword:'ppth'];
- NSMutableDictionary *item = [NSMutableDictionary dictionary];
- if (hidn && [hidn booleanValue]) {
- [item setObject:[NSNumber numberWithBool:YES] forKey:kGTMLoginItemsHiddenKey];
- }
- if (nam) {
- NSString *name = [nam stringValue];
- if (name) {
- [item setObject:name forKey:kGTMLoginItemsNameKey];
- }
- }
- if (ppth) {
- NSString *path = [ppth stringValue];
- if (path) {
- [item setObject:path forKey:kGTMLoginItemsPathKey];
- }
- }
- [result addObject:item];
- }
-
- return result;
-}
-
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-+ (BOOL)pathInLoginItems:(NSString *)path {
- NSArray *loginItems = [self loginItems:nil];
- NSInteger itemIndex = [self indexOfLoginItemWithValue:path
- forKey:kGTMLoginItemsPathKey
- loginItems:loginItems];
- return (itemIndex != NSNotFound) ? YES : NO;
-}
-
-+ (BOOL)itemWithNameInLoginItems:(NSString *)name {
- NSArray *loginItems = [self loginItems:nil];
- NSInteger itemIndex = [self indexOfLoginItemWithValue:name
- forKey:kGTMLoginItemsNameKey
- loginItems:loginItems];
- return (itemIndex != NSNotFound) ? YES : NO;
-}
-
-+ (void)addPathToLoginItems:(NSString*)path hide:(BOOL)hide {
- if (!path) return;
- // make sure it isn't already there
- if ([self pathInLoginItems:path]) return;
- // now append it
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- NSURL *url = [NSURL fileURLWithPath:path];
- if (url) {
- LSSharedFileListRef loginItemsRef = [self loginItemsFileListRef];
- if (loginItemsRef) {
- NSDictionary *setProperties =
- [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:hide]
- forKey:(id)kLSSharedFileListLoginItemHidden];
- LSSharedFileListItemRef itemRef =
- LSSharedFileListInsertItemURL(loginItemsRef,
- kLSSharedFileListItemLast, NULL, NULL,
- (CFURLRef)url,
- (CFDictionaryRef)setProperties, NULL);
- if (itemRef) CFRelease(itemRef);
- }
- }
-#else // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- NSString *scriptSource =
- [NSString stringWithFormat:
- @"tell application \"System Events\" to make new login item with properties { path:\"%s\", hidden:%s } at end",
- [path UTF8String],
- (hide ? "yes" : "no")];
- [self compileAndRunScript:scriptSource withError:nil];
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-}
-
-+ (void)removePathFromLoginItems:(NSString*)path {
- if ([path length] == 0) return;
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- NSURL *url = [NSURL fileURLWithPath:path];
- LSSharedFileListRef loginItemsRef = [self loginItemsFileListRef];
- if (loginItemsRef) {
- NSArray *fileList = [self loginItemsArrayForFileListRef:loginItemsRef];
- for (id item in fileList) {
- LSSharedFileListItemRef itemRef = (LSSharedFileListItemRef)item;
- CFURLRef urlRef = NULL;
- if (LSSharedFileListItemResolve(itemRef, 0, &urlRef, NULL) == noErr) {
- if (urlRef) {
- if (CFEqual(urlRef, (CFURLRef)url)) {
- LSSharedFileListItemRemove(loginItemsRef, itemRef);
- }
- CFRelease(urlRef);
- }
- }
- }
- }
-#else // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- NSString *scriptSource =
- [NSString stringWithFormat:
- @"tell application \"System Events\" to delete (login items whose path is \"%s\")",
- [path UTF8String]];
- [self compileAndRunScript:scriptSource withError:nil];
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-}
-
-+ (void)removeItemWithNameFromLoginItems:(NSString *)name {
- if ([name length] == 0) return;
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- LSSharedFileListRef loginItemsRef = [self loginItemsFileListRef];
- if (loginItemsRef) {
- NSArray *fileList = [self loginItemsArrayForFileListRef:loginItemsRef];
- for (id item in fileList) {
- LSSharedFileListItemRef itemRef = (LSSharedFileListItemRef)item;
- CFStringRef itemNameRef = LSSharedFileListItemCopyDisplayName(itemRef);
- if (itemNameRef) {
- NSString *itemName =
- [(NSString *)itemNameRef stringByDeletingPathExtension];
- if ([itemName isEqual:name]) {
- LSSharedFileListItemRemove(loginItemsRef, itemRef);
- }
- CFRelease(itemNameRef);
- }
- }
- }
-#else // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- NSString *scriptSource =
- [NSString stringWithFormat:
- @"tell application \"System Events\" to delete (login items whose name is \"%s\")",
- [name UTF8String]];
- [self compileAndRunScript:scriptSource withError:nil];
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-}
-
-@end
diff --git a/AppKit/GTMLoginItemsTest.m b/AppKit/GTMLoginItemsTest.m
deleted file mode 100644
index 3784edb..0000000
--- a/AppKit/GTMLoginItemsTest.m
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-// GTMLoginItemsTest.m
-//
-// Copyright 2006-2008 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy
-// of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-//
-
-#import "GTMSenTestCase.h"
-#import "GTMLoginItems.h"
-
- // we don't really run this test because if someone had it in some automated
- // tests, then if something did fail, it could leave things in the login items
- // on the computer which could be a nasty surprise.
-#define MODIFICATION_TESTS_ENABLED 0
-
-
-@interface GTMLoginItemsTest : GTMTestCase
-@end
-
-static BOOL ItemsListHasPath(NSArray *items, NSString *path) {
- NSDictionary *item = nil;
- for (item in items) {
- NSString *itemPath = [item objectForKey:kGTMLoginItemsPathKey];
- if (itemPath && [itemPath isEqual:path]) {
- return YES;
- }
- }
- return NO;
-}
-
-@implementation GTMLoginItemsTest
-
-- (void)testNoModification {
-
- NSError *error = nil;
- NSString *bogusAppPath = @"/Applications/AppThatDoesNotExist.app";
- NSString *bogusAppName = @"AppThatDoesNotExist";
-
- // fetch the starting values
- NSArray *initialItems = [GTMLoginItems loginItems:&error];
- XCTAssertNotNil(initialItems, @"shouldn't be nil (%@)", error);
- XCTAssertFalse(ItemsListHasPath(initialItems, bogusAppPath),
- @"bogusApp shouldn't be in list to start for test (%@)",
- initialItems);
-
- // check by path
- XCTAssertFalse([GTMLoginItems pathInLoginItems:bogusAppPath]);
-
- // check by name
- XCTAssertFalse([GTMLoginItems itemWithNameInLoginItems:bogusAppName]);
-
- // remove it by path
- [GTMLoginItems removePathFromLoginItems:bogusAppPath];
- NSArray *curItems = [GTMLoginItems loginItems:nil];
- XCTAssertEqualObjects(initialItems, curItems);
-
- // remove it by name
- [GTMLoginItems removeItemWithNameFromLoginItems:bogusAppName];
- curItems = [GTMLoginItems loginItems:nil];
- XCTAssertEqualObjects(initialItems, curItems);
-
-}
-
-- (void)testModification {
-
-#if MODIFICATION_TESTS_ENABLED
-
- NSError *error = nil;
- NSString *textEditPath = @"/Applications/TextEdit.app";
- NSString *textEditName = @"TextEdit";
-
- // fetch the starting values
- NSArray *initialItems = [GTMLoginItems loginItems:&error];
- XCTAssertNotNil(initialItems, @"shouldn't be nil (%@)", error);
- XCTAssertFalse(ItemsListHasPath(initialItems, textEditPath),
- @"textedit shouldn't be in list to start for test (%@)",
- initialItems);
-
- // add textedit
- [GTMLoginItems addPathToLoginItems:textEditPath hide:NO];
- NSArray *curItems = [GTMLoginItems loginItems:nil];
- XCTAssertNotEqualObjects(initialItems, curItems);
-
- // check by path
- XCTAssertTrue([GTMLoginItems pathInLoginItems:textEditPath]);
-
- // check by name
- XCTAssertTrue([GTMLoginItems itemWithNameInLoginItems:textEditName]);
-
- // remove it by path
- [GTMLoginItems removePathFromLoginItems:textEditPath];
- curItems = [GTMLoginItems loginItems:nil];
- STAssertEqualObjects(initialItems, curItems);
-
- // check by path
- XCTAssertFalse([GTMLoginItems pathInLoginItems:textEditPath]);
-
- // check by name
- XCTAssertFalse([GTMLoginItems itemWithNameInLoginItems:textEditName]);
-
- // add textedit
- [GTMLoginItems addPathToLoginItems:textEditPath hide:NO];
- curItems = [GTMLoginItems loginItems:nil];
- STAssertNotEqualObjects(initialItems, curItems);
-
- // check by path
- XCTAssertTrue([GTMLoginItems pathInLoginItems:textEditPath]);
-
- // check by name
- XCTAssertTrue([GTMLoginItems itemWithNameInLoginItems:textEditName]);
-
- // remove it by name
- [GTMLoginItems removeItemWithNameFromLoginItems:textEditName];
- curItems = [GTMLoginItems loginItems:nil];
- XCTAssertEqualObjects(initialItems, curItems);
-
- // check by path
- XCTAssertFalse([GTMLoginItems pathInLoginItems:textEditPath]);
-
- // check by name
- XCTAssertFalse([GTMLoginItems itemWithNameInLoginItems:textEditName]);
-
-#endif // MODIFICATION_TESTS_ENABLED
-
-}
-
-@end
diff --git a/GTM.xcodeproj/project.pbxproj b/GTM.xcodeproj/project.pbxproj
index 92dedf1..895c10e 100644
--- a/GTM.xcodeproj/project.pbxproj
+++ b/GTM.xcodeproj/project.pbxproj
@@ -80,7 +80,6 @@
8BA983C81D9AE7E6009724B5 /* GTMUnitTestingTest.nib in Resources */ = {isa = PBXBuildFile; fileRef = 8BA983C51D9AE7E6009724B5 /* GTMUnitTestingTest.nib */; };
8BAA9E380F7C19D500DF4F12 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8BAA9E360F7C19D500DF4F12 /* MainMenu.xib */; };
8BAA9EF20F7C2AB500DF4F12 /* GTMCarbonEventTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B3E29290EEB53F3000681D8 /* GTMCarbonEventTest.m */; };
- 8BAA9EF60F7C2AB500DF4F12 /* GTMLoginItemsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F43DCEC60D47BEA000959A62 /* GTMLoginItemsTest.m */; };
8BAA9EF70F7C2AB500DF4F12 /* GTMNSBezierPath+CGPathTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F428FF010D48E55E00382ED1 /* GTMNSBezierPath+CGPathTest.m */; };
8BAA9EF80F7C2AB500DF4F12 /* GTMNSBezierPath+RoundRectTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F48FE2830D198D0E009257D2 /* GTMNSBezierPath+RoundRectTest.m */; };
8BAA9EFA0F7C2AB500DF4F12 /* GTMNSColor+LuminanceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F511DF50F4B0378009F41B6 /* GTMNSColor+LuminanceTest.m */; };
@@ -157,8 +156,6 @@
F437F55E0D50BC0A00F5C3A4 /* GTMRegex.m in Sources */ = {isa = PBXBuildFile; fileRef = F437F55B0D50BC0A00F5C3A4 /* GTMRegex.m */; };
F43C7A571021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h in Headers */ = {isa = PBXBuildFile; fileRef = F43C7A551021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h */; settings = {ATTRIBUTES = (Public, ); }; };
F43C7A581021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m in Sources */ = {isa = PBXBuildFile; fileRef = F43C7A561021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m */; };
- F43DCDCD0D4796C600959A62 /* GTMLoginItems.h in Headers */ = {isa = PBXBuildFile; fileRef = F43DCDCB0D4796C600959A62 /* GTMLoginItems.h */; settings = {ATTRIBUTES = (Public, ); }; };
- F43DCDCE0D4796C600959A62 /* GTMLoginItems.m in Sources */ = {isa = PBXBuildFile; fileRef = F43DCDCC0D4796C600959A62 /* GTMLoginItems.m */; };
F43E4C280D4E361D0041161F /* GTMNSString+XML.h in Headers */ = {isa = PBXBuildFile; fileRef = F43E4C250D4E361D0041161F /* GTMNSString+XML.h */; settings = {ATTRIBUTES = (Public, ); }; };
F43E4C290D4E361D0041161F /* GTMNSString+XML.m in Sources */ = {isa = PBXBuildFile; fileRef = F43E4C260D4E361D0041161F /* GTMNSString+XML.m */; };
F43E4E610D4E5EC90041161F /* GTMNSData+zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = F43E4E5E0D4E5EC90041161F /* GTMNSData+zlib.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -353,9 +350,6 @@
F437F55C0D50BC0A00F5C3A4 /* GTMRegexTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMRegexTest.m; sourceTree = "<group>"; };
F43C7A551021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMUILocalizerAndLayoutTweaker.h; sourceTree = "<group>"; };
F43C7A561021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMUILocalizerAndLayoutTweaker.m; sourceTree = "<group>"; };
- F43DCDCB0D4796C600959A62 /* GTMLoginItems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMLoginItems.h; sourceTree = "<group>"; };
- F43DCDCC0D4796C600959A62 /* GTMLoginItems.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMLoginItems.m; sourceTree = "<group>"; };
- F43DCEC60D47BEA000959A62 /* GTMLoginItemsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMLoginItemsTest.m; sourceTree = "<group>"; };
F43E4C250D4E361D0041161F /* GTMNSString+XML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "GTMNSString+XML.h"; sourceTree = "<group>"; };
F43E4C260D4E361D0041161F /* GTMNSString+XML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "GTMNSString+XML.m"; sourceTree = "<group>"; };
F43E4C270D4E361D0041161F /* GTMNSString+XMLTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "GTMNSString+XMLTest.m"; sourceTree = "<group>"; };
@@ -624,9 +618,6 @@
8BF2368D13CF67CB00F3FD82 /* GTMKeyValueAnimation.h */,
8BF2368E13CF67CB00F3FD82 /* GTMKeyValueAnimation.m */,
8BF2369113CF694C00F3FD82 /* GTMKeyValueAnimationTest.m */,
- F43DCDCB0D4796C600959A62 /* GTMLoginItems.h */,
- F43DCDCC0D4796C600959A62 /* GTMLoginItems.m */,
- F43DCEC60D47BEA000959A62 /* GTMLoginItemsTest.m */,
8B158A5F10A8BE4500C93125 /* GTMNSAnimation+Duration.h */,
8B158A6010A8BE4500C93125 /* GTMNSAnimation+Duration.m */,
F428FEFF0D48E55E00382ED1 /* GTMNSBezierPath+CGPath.h */,
@@ -824,7 +815,6 @@
F42E094F0D199BBF00D5DDE0 /* GTMNSBezierPath+RoundRect.h in Headers */,
F42E09510D199BBF00D5DDE0 /* GTMNSString+HTML.h in Headers */,
F42E09540D199BBF00D5DDE0 /* GTMSystemVersion.h in Headers */,
- F43DCDCD0D4796C600959A62 /* GTMLoginItems.h in Headers */,
F428FF030D48E55E00382ED1 /* GTMNSBezierPath+CGPath.h in Headers */,
F43E4C280D4E361D0041161F /* GTMNSString+XML.h in Headers */,
F43E4E610D4E5EC90041161F /* GTMNSData+zlib.h in Headers */,
@@ -1179,7 +1169,6 @@
F42E09500D199BBF00D5DDE0 /* GTMNSBezierPath+RoundRect.m in Sources */,
F42E09520D199BBF00D5DDE0 /* GTMNSString+HTML.m in Sources */,
F42E09550D199BBF00D5DDE0 /* GTMSystemVersion.m in Sources */,
- F43DCDCE0D4796C600959A62 /* GTMLoginItems.m in Sources */,
F428FF040D48E55E00382ED1 /* GTMNSBezierPath+CGPath.m in Sources */,
F43E4C290D4E361D0041161F /* GTMNSString+XML.m in Sources */,
F43E4E620D4E5EC90041161F /* GTMNSData+zlib.m in Sources */,
@@ -1225,7 +1214,6 @@
8B7DCBC10DFF0F7F0017E983 /* GTMMethodCheck.m in Sources */,
8B7DCE190DFF39850017E983 /* GTMSenTestCase.m in Sources */,
8BAA9EF20F7C2AB500DF4F12 /* GTMCarbonEventTest.m in Sources */,
- 8BAA9EF60F7C2AB500DF4F12 /* GTMLoginItemsTest.m in Sources */,
8BAA9EF70F7C2AB500DF4F12 /* GTMNSBezierPath+CGPathTest.m in Sources */,
8BAA9EF80F7C2AB500DF4F12 /* GTMNSBezierPath+RoundRectTest.m in Sources */,
8BAA9EFA0F7C2AB500DF4F12 /* GTMNSColor+LuminanceTest.m in Sources */,