我有一个简单的复杂功能来从Watch Face启动我的应用程序。它不显示任何数据,只显示图像。我遵循Adding Complications to the Gallery指南,但我无法将其复杂功能添加到iPhone Watch应用程序中的并发症库中。并发症不会出现在图库中
public func getLocalizableSampleTemplate(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTemplate?) -> Void) {
guard let tempalte = buildTemplate(for: complication) else {
fatalError("Unsuported Complication Family.")
}
handler(tempalte)
}
// Helper function to build template.
fileprivate func buildTemplate(for complication: CLKComplication) -> CLKComplicationTemplate? {
let textProvider = CLKSimpleTextProvider.localizableTextProvider(withStringsFileTextKey: "Caffeine")
switch complication.family {
case .modularSmall:
let icon = #imageLiteral(resourceName: "Complication/Modular")
let complicationTemplate = CLKComplicationTemplateModularSmallSimpleImage()
complicationTemplate.imageProvider = CLKImageProvider(onePieceImage: icon)
return complicationTemplate
case .circularSmall:
let icon = #imageLiteral(resourceName: "Complication/Circular")
let complicationTemplate = CLKComplicationTemplateCircularSmallSimpleImage()
complicationTemplate.imageProvider = CLKImageProvider(onePieceImage: icon)
return complicationTemplate
case .utilitarianSmall:
let icon = #imageLiteral(resourceName: "Complication/Utilitarian")
let complicationTemplate = CLKComplicationTemplateUtilitarianSmallSquare()
complicationTemplate.imageProvider = CLKImageProvider(onePieceImage: icon)
return complicationTemplate
case .utilitarianLarge:
let icon = #imageLiteral(resourceName: "Complication/Utilitarian")
let complicationTemplate = CLKComplicationTemplateUtilitarianLargeFlat()
complicationTemplate.imageProvider = CLKImageProvider(onePieceImage: icon)
complicationTemplate.textProvider = textProvider
return complicationTemplate
case .utilitarianSmallFlat:
let icon = #imageLiteral(resourceName: "Complication/Utilitarian")
let complicationTemplate = CLKComplicationTemplateUtilitarianSmallFlat()
complicationTemplate.imageProvider = CLKImageProvider(onePieceImage: icon)
complicationTemplate.textProvider = textProvider
return complicationTemplate
case .extraLarge:
let icon = #imageLiteral(resourceName: "Complication/Extra Large")
let complicationTemplate = CLKComplicationTemplateExtraLargeSimpleImage()
complicationTemplate.imageProvider = CLKImageProvider(onePieceImage: icon)
return complicationTemplate
default:
return nil
}
}
complicationManifest.json文件。
{
"supported complication families" : {
"3" : "B82ADE2C-045D-491D-87DD-C24148804480.json",
"6" : "A332202A-4B7B-49E0-83FB-DB398089E4FE.json",
"4" : "817476CB-1683-4604-A76D-2977236448AD.json",
"2" : "50AB27ED-0FA3-41AD-A3E7-CC9C62E48D82.json",
"0" : "DBE31877-7BB0-4671-B065-6FE00333929E.json",
"7" : "96966B70-AB8D-4DB3-AB64-AFDF1F09EB88.json"
},
"client ID" : "net.borisy.ProductDisplayName.watchkitapp.watchkitextension"
}
项目设置。
故障排除。
- 试图重置模拟器。
- 尝试在真实的设备和模拟器上。
- 通过拖动将复杂束保存为“创建文件夹参考”
gallery.ckcomplication
gallery.ckcomplication
位于项目的根级别。与.xcodeproj
相同。
更新。
我已添加更多代码。我还将ckcomplication.strings
添加到Watch Extension目标。
阅读苹果直营店一次以下行让我思考:
例如,MyBundleName.ckcomplication。
也许我们假设重命名生成的文件夹名称gallery与包名称。我试图去做。到目前为止没有运气。
我也在'buildTemplate()'方法中做同样的事情。我正在提供真实的形象。 –
你也在设置文本?你有没有尝试过放置一个断点,看看它是否崩溃?这就是我发现我需要添加缺少的文本。 –
我没有添加任何文字,因为我的复杂只是一张照片。我将尝试尝试使用断点并添加文本,谢谢。 –