2014-10-15 5 views
0

내 HomeKitDemoApp에 홈을 추가하려고합니다. AppKitDemoApp이 내 액세서리 데이터에 액세스하는 것과 같은 팝업을 받고있는 장치 또는 시뮬레이터에서 앱을 처음 설치할 때 작동합니다. 이음새가 작동하고 룸이 내 tableview에 추가됩니다. 동일한 장치 또는 시뮬레이터 장치에서 응용 프로그램을 다시 작성한 후에 방을 내 tableview에 geht하지 않습니다.HomeKit에 HMHome 추가

import Foundation 
import UIKit 
import HomeKit 

class HomeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, HMHomeManagerDelegate{ 

    var homeManager:HMHomeManager = HMHomeManager() 

    @IBOutlet var homesTableView: UITableView! 

    var homes = [AnyObject]() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 

    override func viewWillAppear(animated: Bool) { 
     super.viewWillAppear(animated) 
    } 


    @IBAction func addHome(sender: AnyObject) { 
     let alert:UIAlertController = UIAlertController(title: "Zuhause hinzufügen", message: "Neues Zuhause zu HomeKit hinzufügen", preferredStyle: .Alert) 


     alert.addTextFieldWithConfigurationHandler(nil) 
     alert.addAction(UIAlertAction (title: "abbruch", style: UIAlertActionStyle.Cancel, handler: nil)) 
     alert.addAction(UIAlertAction(title: "hinzufügen", style: UIAlertActionStyle.Default, handler: 
      { 
       (action:UIAlertAction!) in 
       let textField = alert.textFields?[0] as UITextField 

       //create home with the typed name 
        self.homeManager.addHomeWithName(textField.text, completionHandler: 
         { 
          (home: HMHome!,error)in 
          if let error = error { 
           NSLog("Add home error:\(error)") 
          }else{ 
           println("im here in reloaddata") 
           self.homes.append(home) 
           self.homesTableView.reloadData() 
          } 
         } 
        ) 

     })) 

     self.presentViewController(alert, animated: true, completion: nil) 

    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCellWithIdentifier("CustomHomeCell", forIndexPath: indexPath) as UITableViewCell 
     let home = self.homeManager.homes?[indexPath.row] as HMHome 
     cell.textLabel?.text = home.name 
     return cell 

    } 


    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return homes.count 
    } 
    // #pragma mark - HMHomeManager Delegate 

    func homeManagerDidUpdateHomes(manager: HMHomeManager!) { 

     self.homes = manager.homes 

     self.homesTableView.reloadData() 
    } 

} 

희망의 사람이 아이디어를 가지고 나를 도울 수 :

HomeKitDemoApp[22635:1632134] Add home error:Error Domain=HMErrorDomain Code=49 "The operation couldn’t be completed. (HMErrorDomain error 49.)" 

내 코드입니다 : 지금은 오류가 발생합니다. 감사합니다.

+0

HomeKit 오류를 유용하게 문서화되어 HMErrorCode.MaximumObjectLimitReached', 49 '결의'객체의 최대 개수에 도달 하였다. " 당신이 할 일을 위해 그것을 가져 가라. – mattt

답변

0

홈을 추가 할 수있는 최대 한도는 10입니다. 홈 킷은 10 개가 넘는 집을 추가 할 수 없습니다.

0

너무 많은 집이있는 것으로 보입니다. 한계가 무엇인지 잘 모르겠지만 앱을 다시 작성할 때 집은 삭제되지 않습니다. 그것들은 (다른 모든 홈 킷 데이터와 함께) iCloud 계정에 연결된 공유 데이터베이스에서 지속됩니다.

몇 홈을 만들었습니까?

0

HomeKit은 최대 10 개의 가정을 추가 할 수 있습니다. iOS 장비 및 iCloud에서 모든 홈 데이터를 삭제하려면 설정> 개인 정보 보호> 홈 키트로 이동하고 "홈 키트 구성 재설정"을 탭하십시오. 장치에서 응용 프로그램을 제거하고 다시 설치해도 HomeKit 구성이 지워지지는 않습니다.

HTH