@@ -340,21 +340,6 @@ - (UIViewController *) profile:(DConnectSystemProfile *)sender
340340 DConnectServiceListViewController *serviceListViewController = (DConnectServiceListViewController *) top.viewControllers [0 ];
341341 serviceListViewController.delegate = self;
342342 return top;
343- /*
344- NSBundle *bundle = DPIRBundle();
345-
346- // iphoneとipadでストーリーボードを切り替える
347- UIStoryboard *storyBoard;
348- if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
349- storyBoard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"%@iPhone", DPIRKitStoryBoardName]
350- bundle:bundle];
351- } else{
352- storyBoard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"%@iPad", DPIRKitStoryBoardName]
353- bundle:bundle];
354- }
355- UINavigationController *viewController = [storyBoard instantiateInitialViewController];
356- return viewController;
357- */
358343}
359344
360345- (void )didSelectService : (DConnectService *)service {
@@ -376,22 +361,25 @@ - (void)didSelectService:(DConnectService *)service {
376361 UIViewController *rootView;
377362 DCPutPresentedViewController (rootView);
378363 DPIRKitVirtualDeviceViewController *view = (DPIRKitVirtualDeviceViewController*) top.viewControllers [0 ];
379- DPIRKitDevice *irkit = _devices[service.serviceId];
380-
381364 if (service.serviceId ) {
365+ // IRKitのServiceIdに.がある場合は仮想デバイスとみなす
366+ NSRange range = [service.serviceId rangeOfString: @" ." ];
367+ if (range.location != NSNotFound ) {
368+ UIAlertController *alertController = [UIAlertController alertControllerWithTitle: @" 仮想デバイス"
369+ message: @" このデバイスは仮想デバイスのため、さらに仮想デバイスを作ることはできません。"
370+ preferredStyle: UIAlertControllerStyleAlert];
371+ [alertController addAction: [UIAlertAction actionWithTitle: @" OK" style: UIAlertActionStyleDefault handler: nil ]];
372+ [rootView presentViewController: alertController animated: YES completion: nil ];
373+ return ;
374+ }
375+
376+
382377 [view setDetailName: service.serviceId];
383378 [view setProvider: super .serviceProvider];
384379 [rootView presentViewController: top animated: YES completion: nil ];
385380 } else {
386- NSString *title = nil ;
387- NSString *message = nil ;
388- if (!title) {
389- title = @" 不明なデバイス" ;
390- message = @" このデバイスは不明です" ;
391- }
392-
393- UIAlertController *alertController = [UIAlertController alertControllerWithTitle: title
394- message: message
381+ UIAlertController *alertController = [UIAlertController alertControllerWithTitle: @" 不明なデバイス"
382+ message: @" このデバイスは不明です"
395383 preferredStyle: UIAlertControllerStyleAlert];
396384 [alertController addAction: [UIAlertAction actionWithTitle: @" OK" style: UIAlertActionStyleDefault handler: nil ]];
397385 [rootView presentViewController: alertController animated: YES completion: nil ];
@@ -428,19 +416,6 @@ - (UIViewController *)settingViewController {
428416 return top;
429417}
430418
431- - (NSArray *) displayServiceFilter : (NSArray *)services {
432-
433- NSMutableArray *filterServices = [NSMutableArray array ];
434-
435- // 仮想デバイスを表示しないので、それを除いたservicesを作成して返す
436- for (DConnectService *service in services) {
437- if (![service isMemberOfClass: [DPIRKitVirtualService class ]]) {
438- [filterServices addObject: service];
439- }
440- }
441- return filterServices;
442- }
443-
444419#pragma mark DConnectInformationProfileDataSource
445420
446421- (DConnectServiceInformationProfileConnectState) profile : (DConnectServiceInformationProfile *)profile
0 commit comments