文章目录
  1. 1. 一,identifier标示
  2. 2. 二,Glance interfaces不支持button
  3. 3. 三,Watch App的版本号包括build版本号必须和Host App保持一致
  4. 4. 四,Apple Watch的UI布局没有iOS应用复杂
  5. 5. 五,Apple Watch的ICON尺寸大小
  6. 6. 六,Watch App和Extension App通信和数据共享
  7. 7. 七,在应用和扩展间共享代码 - Framework
  8. 8. 八,Watch App 调试方法
  9. 9. 九,提交审核须知

今日,特酷吧开发完成了’多识阅读-可以听的个性化订阅工具’Apple Watch的适配,目前正在审核中,下面是开发中的总结

一,identifier标示

执行[self pushControllerWithName:@”Interface Controller1” context:nil];

弹不出页面,查明是由于需要在WatchKit App的storyboard中设置scene的identifier.

pushControllerWithName需要和这个identifier保持一致。其他一些地方也需要identifier标示

二,Glance interfaces不支持button

Glances 不支持button,添加了Button会报错

Illegal Configuration: Buttons are not supported in Glance interfaces.

三,Watch App的版本号包括build版本号必须和Host App保持一致

否则会出错:error: The value of CFBundleShortVersionString in your WatchKit app’s Info.plist (1.0) does not match the value in your companion app’s Info.plist (1.0.5). These values are required to match.

四,Apple Watch的UI布局没有iOS应用复杂

只能通过Group以及WKInterfaceButton等UI部件的组合,且可以设置布局的参数也比较少:

1,Horizontal方向的Left,Center,Right;

2,Vertical方向的Top,Center,Bottom;

3,UI组件宽高的Size To Fit Content,Relative to Container,Fixed。

五,Apple Watch的ICON尺寸大小

参考:http://www.cocoachina.com/design/20141124/10306.html

六,Watch App和Extension App通信和数据共享

1,使用MMWormhole

内部使用CFNotificationCenterRef。“多识阅读”在开发中就使用了MMWormhole

2,App Groups

1.通过NSUserDefaults共享数据

为了防止出现数据同步问题,不要忘记调用[shared synchronize];

2,通过NSFileManager共享数据

NSFileManager在iOS7提供了containerURLForSecurityApplicationGroupIdentifier方法,可以用来实现extension和

七,在应用和扩展间共享代码 - Framework

和数据共享类似,extension和containing app很自然地会有一些业务逻辑上可以共用的代码,这时可以通过iOS8中开放使用的framework实现。
具体参考:http://www.onevcat.com/2014/08/notification-today-widget/

八,Watch App 调试方法

首先在模拟器运行Apple Watch App,在iphone 模拟器中启动Host App,依次打开Xcode - Debug - Attach to Process 里找到host app 线程,Attach上即可。

九,提交审核须知

提交到iTunes Connect上时,要求iOS App,Extension App以及Apple Watch App都应该有一个Bundle ID,同时配置各自的distribution profile.也就是说发布一个支持Apple Watch的App,至少需要三个Bundle ID。

否则会提示:

error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target’s code sign settings match the parent app’s.

另外,文案中提到Apple Watch的地方一定不能拼写错误,正确的方式是”Apple Watch”。

文章来自:http://www.tekuba.net/program/361/


本文出处程序员头条:http://www.iswifting.com/2015/11/12/apple-watch-dev-summary/
转载请在开头注明本文出处。

欢迎关注本站微信公众号:为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等.并不定期奉送各种福利.
微信公众号猿圈:CodePush

文章目录
  1. 1. 一,identifier标示
  2. 2. 二,Glance interfaces不支持button
  3. 3. 三,Watch App的版本号包括build版本号必须和Host App保持一致
  4. 4. 四,Apple Watch的UI布局没有iOS应用复杂
  5. 5. 五,Apple Watch的ICON尺寸大小
  6. 6. 六,Watch App和Extension App通信和数据共享
  7. 7. 七,在应用和扩展间共享代码 - Framework
  8. 8. 八,Watch App 调试方法
  9. 9. 九,提交审核须知