2017-03-18 5 views
2

내가 추가하려고 시도한 첫 번째 합병증입니다. 현재 프로젝트에 추가 중입니다. 나는 그것을 시뮬레이터에서 보여줄 수 있었지만 실제 시계에서는 볼 수 없었다. 그것은 SimpleImage의 합병증 일 뿐이므로 약간의 손실이 있으며이 문제에 관해 온라인에서 많은 것을 찾지 못했습니다.watchOS 시계 모드를 맞춤 설정할 때 옵션이 복잡해지지 않습니다.

시계 모양을 맞춤 설정할 때 복잡하게 보이지만 옵션으로 표시되지 않습니다.

- (void)getSupportedTimeTravelDirectionsForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTimeTravelDirections directions))handler { 
    //handler(nil); 
    handler(CLKComplicationTimeTravelDirectionForward|CLKComplicationTimeTravelDirectionBackward); 
} 

- (void)getTimelineStartDateForComplication:(CLKComplication *)complication withHandler:(void(^)(NSDate * __nullable date))handler { 
    handler(nil); 
} 

- (void)getTimelineEndDateForComplication:(CLKComplication *)complication withHandler:(void(^)(NSDate * __nullable date))handler { 
    handler(nil); 
} 

- (void)getPrivacyBehaviorForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationPrivacyBehavior privacyBehavior))handler { 
    handler(CLKComplicationPrivacyBehaviorShowOnLockScreen); 
} 

#pragma mark - Timeline Population 

- (void)getCurrentTimelineEntryForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTimelineEntry * __nullable))handler { 
    // Call the handler with the current timeline entry 
    handler(nil); 
} 

- (void)getTimelineEntriesForComplication:(CLKComplication *)complication beforeDate:(NSDate *)date limit:(NSUInteger)limit withHandler:(void(^)(NSArray<CLKComplicationTimelineEntry *> * __nullable entries))handler { 
    // Call the handler with the timeline entries prior to the given date 
    handler(nil); 
} 

- (void)getTimelineEntriesForComplication:(CLKComplication *)complication afterDate:(NSDate *)date limit:(NSUInteger)limit withHandler:(void(^)(NSArray<CLKComplicationTimelineEntry *> * __nullable entries))handler { 
    // Call the handler with the timeline entries after to the given date 
    handler(nil); 
} 

#pragma mark - Placeholder Templates 

- (void)getLocalizableSampleTemplateForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTemplate * __nullable complicationTemplate))handler { 
    handler(nil); 
} 

- (void)getPlaceholderTemplateForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTemplate * __nullable complicationTemplate))handler { 

    if (complication.family == CLKComplicationFamilyCircularSmall){ 

     CLKComplicationTemplateCircularSmallSimpleImage *template = [[CLKComplicationTemplateCircularSmallSimpleImage alloc] init]; 

     UIImage *img = [UIImage imageNamed:@"Circular"]; 

     template.imageProvider = [CLKImageProvider imageProviderWithOnePieceImage:img]; 

     handler(template); 

    } else if(complication.family == CLKComplicationFamilyModularSmall) { 

     CLKComplicationTemplateModularSmallSimpleImage *template = [[CLKComplicationTemplateModularSmallSimpleImage alloc] init]; 

     UIImage *img = [UIImage imageNamed:@"Modular"]; 

     template.imageProvider = [CLKImageProvider imageProviderWithOnePieceImage:img]; 

     handler(template); 

    } 

} 
+0

"보기에는 문제가 있지만 시계 모드를 사용자 정의 할 때는 옵션으로 표시되지 않습니다." 첫 번째 부분은 시계에, 두 번째 부분은 iPhone에 있습니까? iPhone에 표시되도록하려면 iPhone 앱에 복잡한 패키지를 추가하는 방법에 대한 설명서를 확인하십시오. – Cobra

+0

죄송합니다. 그것은 합병증에 시뮬레이터에 표시하고 시계 얼굴에 추가 할 수 있습니다. iPhone에서는 복잡하게 보이지만 시계 모드에 추가 할 수는 없습니다. –

답변

3

합병증은 두 가지 방법으로 시계 모드에 추가 할 수 있습니다 : 페이스 갤러리의 시계 응용 프로그램을 통해 강제 터치 아이폰에

  • 를 통해 시계 자체에

    1. 여기

      은 아래에있는 내 코드입니다 섹션

    두 가지 방법 모두 작동하려면을 구현해야합니다.method은 사용자가 목록에서 합병증을 선택하는 동안 일종의 자리 표시자를 채우기 위해 한 번 호출됩니다.

    Watch.app에 복잡성을 표시하려면 특수한 "complication bundle"을 프로젝트에 추가해야합니다. 이 번들은 iOS 앱에 저장되며 Watch.app은 Face Gallery를 채워야 할 때 찾아냅니다.

  • +0

    이것이 주요 문제인지 100 % 확신하지 못했습니다. 나는 이것을했고 여전히 시계 얼굴에 나타나지 않았다. 나는 그것을 추가하려고했으나 시계 얼굴 중 다른 하나에서 작동한다는 것을 알아 차렸다. 그러나 불행하게도 이것을 고쳤다는 것을 확신 할 수는 없다. 그것은 꽤 도움이됩니다. –

    +0

    확인해야 할 또 다른 장소 : 시계 확장 대상 설정에서 원하는 합병증 가족을 확인 하시겠습니까? 시계문은이 합병증 가족을지지합니까? – abjurato