苹果手表应用冲突uiview扩展

Posted

技术标签:

【中文标题】苹果手表应用冲突uiview扩展【英文标题】:apple watch app conflict uiview extension 【发布时间】:2017-03-07 12:40:45 【问题描述】:

我尝试将 AppleWatch 应用程序添加到我自己的应用程序中。但我收到错误消息:找不到“UIView”的接口声明,指向我在其中定义扩展名的文件对于 UIView,如下所示(我在 pch 文件中添加了 import UIKit/UIKit.h> 代码:

UIView+KKFrameExtension.h
@interface UIView (KKFrameExtension)
@property (nonatomic,assign) CGFloat  width;
@property (nonatomic,assign) CGFloat  height;
@property (nonatomic,assign) CGFloat  x;
@end

UIView+KKFrameExtension.m
-(CGFloat)width
return self.frame.size.width;


-(void)setWidth:(CGFloat)width
    CGRect frame = self.frame;
    frame.size.width = width;
    self.frame = frame;


// height
-(CGFloat)height
    return self.frame.size.height;


-(void)setHeight:(CGFloat)height
    CGRect frame = self.frame;
    frame.size.height = height;
    self.frame = frame;

但是如果我删除了我的WatchApp,一切正常,那么发生了什么,我该怎么办?谢谢

【问题讨论】:

【参考方案1】:

WatchKit 不使用 UIView。它也不使用 UIViewControllers。它使用 WKInterfaceControllers。通常,UI 是在手表应用故事板中创建的,因此您必须在那里创建您想要的内容。创建手表目标时,您应该已经获得了手表应用程序和手表扩展程序的目标。故事板将在手表应用程序中(事实上,这就是它的全部),操作它的代码将在手表扩展程序中。

【讨论】:

感谢您的解释。也许我没有很好地描述。我的问题是,我有一个运行良好的项目,其中只包含一个 iPhone 目标。然后我添加了一个手表应用程序目标项目。当我尝试编译我的原始 IPHONE TARGET(不是新添加的监视目标)时,它坏了,但我没有对这个目标做任何事情。这让我很困惑。 您的手表应用目标是否正在尝试编译此扩展文件?

以上是关于苹果手表应用冲突uiview扩展的主要内容,如果未能解决你的问题,请参考以下文章

苹果手表系列 2 气压计

如何从苹果手表的地图中获取图像

苹果手表watch怎么关闭后台运行的软件

苹果手表视频播放

如何在模拟器中看到苹果手表的主屏幕?

苹果手表应用程序是不是有可能知道它是使用复杂界面启动的?