2017-11-23 2 views
0

IOS 프레임 워크 (목표 C)를 개발했으며이를 Kony 프로젝트에 통합하려고합니다. 호출 할 Framework 함수는 UIView를 표시합니다.Kony 프로젝트에 IOS 프레임 워크 (목표 C) 통합

이 기능은 UI를로드 코니 프로젝트에 사용되었다

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    GlobalVariables = [GlobalVars sharedInstance]; 
    CameraBioselfie *cam; 
    cam =[[CameraBioselfie alloc] init]; 
    [self presentViewController:cam animated:YES completion:nil]; 
    [self.view addSubview:[cam window]]; 

    dispatch_group_t group = dispatch_group_create(); dispatch_group_async(group,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),^{ 
     while (GlobalVariables.response.length==0 && GlobalVariables.error.length==0){ 

     } 
     if(GlobalVariables.response.length==0){ 
      self.result =GlobalVariables.error; 
     } 
     else if([GlobalVariables.response containsString:GlobalVariables.username]){ 
      self.result = @"Recognized"; 
     } 
     else{ 
      self.result = GlobalVariables.response; 
     } 

     NSArray *status = @[self.result]; 
     [self.callbackfunction executeWithArguments:status]; 

     dispatch_sync(dispatch_get_main_queue(), ^{ 
      [self dismissViewControllerAnimated:YES completion:nil]; 
     }); 
    }); 
} 

는이 선에 도달 할 때 :

이 응용 프로그램은 다음과 같습니다

[self.view addSubview:[cam window]]; 

나는 다음과 같은 오류가 나타날 수 메인 스레드에서 엔진에 액세스 한 후 백그라운드 스레드에서 자동 레이아웃 엔진을 수정합니다. 이로 인해 엔진이 손상되고 이상한 충돌이 발생할 수 있습니다.

, 프레임 워크는 Xcode의 목표 C 프로젝트에 통합과 같은 방식으로 호출되는 경우, 나는이 문제를 한 번

+0

나는이 문제가 [self presentViewController : cam animated : YES completion : nil]; [self.view addSubview : [cam window]]; 이 라인들. 첫 번째 라인에서 당신은 캠을 선물하고 다시 다음 라인에 그것을 추가하고 있습니다. 다시 확인할 수 있습니까? – user4261201

+0

실제로 이렇게 사용했을 때 작동했습니다 : dispatch_async (dispatch_get_main_queue(),^{ [self presentViewController : cam animated : YES completion : nil]; }}); [self.view addSubview : [cam window]]; –

답변

0

같은 주 스레드에서 subview을 추가하여 시도가없는 것을 유의하시기 바랍니다

dispatch_async(dispatch_get_main_queue(), ^{ 


    [self.view addSubview:[cam window]]; 

}); 
+0

나는 그것을 시험해 보았지만 효과가 없었다. –

관련 문제