watchOS2の複雑さを作成しようとしています。私はiOSアプリケーションの新しいターゲットを作成しました - 視線と合併症を伴いました モジュラーラージコンプリケーションは1つだけにします。カスタマイズすると複雑になってApple Watchがフリーズする
私は(シミュレータと実際のウォッチの両方で)
を合併症ウォッチフリーズを設定しようとして実行すると、ここに私の合併症コードだ:
-(void)getCurrentTimelineEntryForComplication:(CLKComplication *)complication withHandler:(void (^)(CLKComplicationTimelineEntry * _Nullable))handler {
if (complication.family == CLKComplicationFamilyModularLarge) {
CLKComplicationTemplateModularLargeColumns *template = [[CLKComplicationTemplateModularLargeColumns alloc] init];
NSString *title = NSLocalizedString(@"TODAYINTAKE", nil);
template.row1Column1TextProvider = [CLKSimpleTextProvider textProviderWithText:title];
template.row2Column2TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"kcal"];
template.row3Column2TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"ml"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([self isDateToday:[defaults objectForKey:@"dateSaved"]]) {
template.row2Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"%@",[defaults objectForKey:@"energy"]];
template.row3Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"%@", [defaults objectForKey:@"water"]];
} else {
template.row2Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"0"];
template.row3Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"0"];
}
template.row2ImageProvider = [CLKImageProvider imageProviderWithOnePieceImage:[UIImage imageNamed:@"energy64"]];
template.row3ImageProvider = [CLKImageProvider imageProviderWithOnePieceImage:[UIImage imageNamed:@"water64"]];
template.row1ImageProvider = [CLKImageProvider imageProviderWithOnePieceImage:[UIImage imageNamed:@"64"]];
template.row1Column2TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@" "];
CLKComplicationTimelineEntry *entry = [CLKComplicationTimelineEntry entryWithDate:[NSDate new] complicationTemplate:template];
handler(entry);
} else handler(nil);
}
-(void)getPlaceholderTemplateForComplication:(CLKComplication *)complication withHandler:(void (^)(CLKComplicationTemplate * _Nullable))handler {
if (complication.family == CLKComplicationFamilyModularLarge) {
CLKComplicationTemplateModularLargeTable *template = [[CLKComplicationTemplateModularLargeTable alloc] init];
NSString *title = NSLocalizedString(@"TODAYINTAKE", nil);
template.headerTextProvider = [CLKSimpleTextProvider textProviderWithText:title];
template.row1Column2TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"kcal"];
template.row2Column2TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"ml"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([self isDateToday:[defaults objectForKey:@"dateSaved"]]) {
template.row1Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"%@",[defaults objectForKey:@"energy"]];
template.row2Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"%@", [defaults objectForKey:@"water"]];
} else {
template.row1Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"0"];
template.row2Column1TextProvider = [CLKSimpleTextProvider textProviderWithFormat:@"0"];
}
handler(template);
} else handler(nil);
}
私がサポートされているタイムトラベルとしてCLKComplicationTimeTravelDirectionNone
を渡しています指示
コンソールとシミュレータまたはデバイスのエラーが表示されないので、私は無力です。私はこの情報を読み取ることができたカルーセルクラッシュレポートから
:
***キャッチされない例外が原因アプリ「NSInternalInconsistencyException」、理由終了:「アプリケーションが必要です。 bundleIDは:ql.ManaEU.watchkitapp appToReplaceは:プロキシ:ql.ManaEU.watchkitapp <(ヌル)データベース>で見つかりません」 タイプのキャッチされない例外で終了NSException アボートが() CoreSimulator 191.4と呼ばれる - デバイス:アップルウォッチ - 42mm - ランタイム:watchOS 2.0(13S343) - デバイスタイプ:Apple Watch - 42mm
デバイスログでクラッシュレポートを確認しましたか? Watchkit拡張機能がハングした場合、システムは終了しますが、そのタイプのエラーはコンソールに表示されません。 –
時計の面の複雑さをカスタマイズするために 'ClockKit'が依存しているので、' getPlaceholderTemplateForComplication'コードを提供してください。 –
こんにちは、私は質問を編集し、あなたが望む情報を提供しました。 –