我有一個簡單的複雜功能來從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()'方法中做同樣的事情。我正在提供真實的形象。 –
你也在設置文本?你有沒有嘗試過放置一個斷點,看看它是否崩潰?這就是我發現我需要添加缺少的文本。 –
我沒有添加任何文字,因爲我的複雜只是一張照片。我將嘗試嘗試使用斷點並添加文本,謝謝。 –