我正在看Apple的Lister(Apple Watch,iOS和OS X)样本.该示例对iOS和OS X执行测试:
#import <TargetConditionals.h>
#if (TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR)
@import ListerKit;
#elif TARGET_OS_MAC
@import ListerKitOSX;
#endif
Run Code Online (Sandbox Code Playgroud)
但是,没有测试TARGET_OS_WATCH或类似.Grepping for watchin TargetConditionals.h不会发出命中:
$ cat /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
/SDKs/iPhoneOS7.1.sdk/usr/include/TargetConditionals.h | grep -i watch
$
Run Code Online (Sandbox Code Playgroud)
从TargetConditionals.h,我知道有:
These conditionals specify in which Operating System the generated code will
run. The MAC/WIN32/UNIX conditionals are mutually exclusive. The EMBEDDED/IPHONE
conditionals are variants of TARGET_OS_MAC.
TARGET_OS_MAC - Generate code will run under Mac OS
TARGET_OS_WIN32 - Generate code will run under … 我有兴趣使用触觉反馈为watchOS 2构建应用程序.目前我没有Apple Watch,但我可以访问Apple Developer Program.我试过看看watchOS Developer Library和watchOS 2发行说明.
我没有看到任何提及如何以编程方式访问Taptic引擎或在当前watchOS 2中它能够实现的功能.
如何以编程方式访问Taptic引擎或了解新的Taptic API能够做什么?
Watch App安装在手表上,我可以在Watch上点击并运行它,但watchAppInstalled方法返回false.
此外,我只能使用Xcode 7安装Watch App.如果我尝试通过打开开关使用Watch iOS应用程序(来自Apple)安装Watch App,则安装完成后立即删除Watch App.
更新: 此错误已在Xcode 7 beta 6中修复
我最近不得不复制我自己的框架,以便能够从本地watchOS 2扩展链接它们,因为平台是不同的.因此,对于每个框架,XI都有一个X-watchos对应物.在模拟器中以及直接构建到我的设备时,一切正常,直到我尝试归档,我才得到这个链接错误:
我运行lipo -i了构建的watchOS框架,果然,它的拱门是arm7而arm64不是armv7k.
当我进一步查看构建的目录时,我注意到了这一点:
两个版本都是同一文件的符号链接,并且因为它们具有相同的产品名称,所以它们被覆盖.我可以让他们有不同的名字,但这会让import他们真的很麻烦.
请注意,这不是第三方框架的问题,因为Carthage它已经在不同的目录中构建它们.
编辑08/22/2015:我已经提交了一个示例项目的雷达:http://www.openradar.me/22392501
编辑08/24/2015:这已在Xcode 7 Beta 6发行说明中作为已知问题得到承认:
编辑09/9/2015:Xcode 7.1 Beta发行说明提示这是固定的,但我还没有确认.
我正在构建一个原生Apple Watch应用程序,并且在模拟器上它会很好地打印到控制台,但是当我在设备上运行时它永远不会这样做.这是预期的行为吗?
当我使用xcode 7 beta 5并想在手表模拟器上运行一个简单的演示.它会提示"将安装带有坏包标识符的监视应用程序'(null)'".我找不到任何地方.有谁知道这个?
我正在尝试为watchOS2创建复杂功能.我为我的iOS应用程序创建了新目标 - 使用Glances和Complications我只想拥有一个模块化大型复杂功能.
当我试图设置复杂功能时手表冻结(在模拟器和真实手表上)
这是我的复杂代码:
-(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 = …Run Code Online (Sandbox Code Playgroud) 我正在开发一个WCSession用于与iPhone通信的watchOS扩展.但是,我没有Apple Watch,因此必须依靠Watch Simulator来测试我的代码.
有没有办法测试Watch在模拟器中与手机断开连接的情况?
如果没有,是否有一些文档或经过充分研究的博客文章,可以对WCSession这种情况下的行为有所了解?
在集成我的j2objc转换的java库时,我收到了这条消息.
ld:警告:紧急:为watchOS模拟器构建,但链接在为iOS构建的目标文件(/Users/admin/Documents/j2objc/dist/lib/libjre_emul.a(IOSArray.o))中.注意:将来这将是一个错误.
我不明白我的代码是否适用于真正的watchOS设备?或者这只是一个仅在模拟器中运行的i386构建?在这种情况下我需要做什么?
我们正在开发一个Apple Watch项目,但如果不间断的话,手表会进入睡眠状态.
有什么方法可以阻止它进入睡眠状态吗?
watchos-2 ×10
ios ×6
watchkit ×6
apple-watch ×4
xcode ×3
xcode7 ×2
ios9 ×1
j2objc ×1
objective-c ×1
preprocessor ×1
swift ×1
watchos ×1
xcode7-beta5 ×1