Home‎ > ‎

アプリの二重起動の検出方法

①多重起動の防止処理(アプリパスで調べる)
- (BOOL)isAlreadyBooted:(NSString*)appFullPath
 {
 NSEnumerator* apps = [[[NSWorkspace sharedWorkspace] launchedApplications] objectEnumerator];
 NSDictionary* appDict = [NSDictionary dictionary];
 while (appDict = [apps nextObject]) {
  NSString* appPath = [appDict objectForKey:@"NSApplicationPath"];
  if ([appPath isEqualToString:appFullPath]) {
   return true;
  }
 }
 return false;
 }

②多数のユーザーが起動禁止
プロジェクトのinfo.plistの中に以下のタグを追加
 <key>LSMultipleInstancesProhibited</key>
 <true/>