我的项目中有.xcdatamodeld文件,但它没有打开数据模型.
当我点击Xcode左侧边栏中的文件时,它会继续显示以前选择的文件的内容,而不是显示数据模型.同样,当我右键单击该文件并选择"打开为>"时,我无法选择将其显示为数据模型 - 没有任何内容出现.我检查了SVN repo中的代码,甚至文件管理器所有者也无法在他的工作区中看到它.
在WatchKit中,我知道我可以在storyboard文件中设置"Global Tint"值,以调整界面控制器中导航标题的文本颜色.
但是,每当我在我的应用程序中呈现模态接口控制器时,我注意到InterfaceController的标题显示为白色,而不是全局色调颜色.
这是故事板文件中的色调设置:

这是我发现的问题的一个例子:

如何获取模态的标题以使用全局色调?
在手表应用程序中,如何以编程方式更改页面?
我在基于页面的应用程序中有3个WKInterfaceControllers,当用户按下表格视图单元格时,我想从一个页面更改为另一个页面.
我可以提供一个模态精细的视图控制器但是当我尝试推动视图控制器或将segue挂到单元控制器时,没有任何反应.
如果您在> = iOS 8.2 iPhone上打开Apple Watch应用程序,您将获得一个包含监视应用程序的应用程序列表.
我在哪里可以定义名称,显示在监视应用程序图标旁边?
我想用苹果表冠来控制滑块.这可能吗?
如果是这样,怎么样?
Apple使用它来改变手表用户界面的颜色.
编辑:所以目前似乎不可能(见下面的答案).重要的是要注意在两周时间内(Apple WWDC 2015)这可能会改变(可能是独立应用程序的Watch OS?)
我正在构建一个原生Apple Watch应用程序,并且在模拟器上它会很好地打印到控制台,但是当我在设备上运行时它永远不会这样做.这是预期的行为吗?
我将我的应用更新为最新的swift 2.0语法.这样做,我的Watchkit应用程序已经破产.问题是watchkit app引用了一个引用框架AVFoundation的类.WatchOS2显然现在不再支持一些标准框架:
对基于网络的操作的支持包括以下技术:
WatchKit扩展可以通过NSURLSession对象直接访问网络.WatchKit扩展可以完全访问NSURLSession功能,包括在后台下载文件的功能.有关如何使用此类的信息,请参阅URL加载系统编程指南.Watch Connectivity框架支持Watch应用程序和iOS应用程序之间的双向通信.使用此框架来协调两个应用程序之间的活动.请参阅与您的Companion iOS应用程序通信.
所以现在我无法编译监视工具包代码,因为"没有找到这样的模块"在尝试使用AVFoundation框架时是一条错误消息.我怎样才能解决这个问题,并在我的Apple Watch应用程序中继续引用该类和框架.我应该在手机和手表之间传递数据吗?有没有办法将框架链接到扩展?
我想要做的是以下,在我的InterfaceController中:
override func willActivate() {
super.willActivate()
let defaultsShared = NSUserDefaults(suiteName: "somesharedappgroup")
let defaults = NSUserDefaults.standardUserDefaults()
if let barcodeString = defaultsShared!.objectForKey("barcode") as? String {
if let barcodeContent = RSUnifiedCodeGenerator.shared.generateCode(barcodeString, machineReadableCodeObjectType: AVMetadataObjectTypeCode39Code) {
barcode.setImage(barcodeContent)
label.setText("ID: \(barcodeString)")
} else {
label.setText("Please setup extensions in the settings of SHPID.")
barcode.setImage(nil)
}
} else {
label.setText("Please setup extensions in the settings of SHPID.")
barcode.setImage(nil)
}
}
Run Code Online (Sandbox Code Playgroud)
的RSUnifiedCodeGenerator是利用AVFoundation生成字符串的条形码图像的类.此外,生成器采用的类型是AVObject:AVMetadataObjectTypeCode39Code.这个解决方案在第一个WatchOS中运行良好,但现在在OS 2中仍然存在问题.我看到WatchConnectivity可能是一个解决方案,并且它只是从手机本身传递条形码,但这需要我停止支持iOS 8.对于在WatchOS 2上使用AVFoundation,这是最好的解决方案.如果我不能这样做,我应该怎么做才能在通话时将这个图像从手机传递给手表.谢谢.
我不确定这是否是正确的问题,所以如果我使用了错误的部分,我很抱歉.我们将应用程序提交到iTunes Connect时遇到了麻烦,我们收到的电子邮件说:
Invalid Symlink - Your package contains a symbolic link 'PlugIns/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex' which resolves to a location '/Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex' that does not exist or is outside of the package.
Run Code Online (Sandbox Code Playgroud)
我尝试使用与项目相同的设置创建一个空白Xcode项目来重现错误,但我无法从iTunes Connect获得相同的错误.有没有人知道为什么要创建符号链接?我检查了空白的项目.ipa,它在该路径中没有包含那个符号链接,所以这显然是错误的,但我找不到创建符号链接的构建设置/配置.
我检查了xcodebuild输出,我发现了这个:
SymLink build/SetaWatchKitExtension.appex /Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/SetaWatchKitExtension.appex
cd $REDACTED_PROJECT_PATH$
export PATH="/Applications/Xcode-7.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-7.1.app/Contents/Developer/usr/bin:$REDACTED_PATH_ENV_VARIABLE$"
/bin/ln -sfh /Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex /Users/$REDACTED_USER$/Documents/$REDACTED_PATH$/build/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex
Run Code Online (Sandbox Code Playgroud)
这似乎很好,但不知何故,符号链接最终在.ipa内部是错误的.在watchkit扩展构建目标步骤期间,在创建产品结构之后和CompileSwiftSources之前发生这种情况.
非常感谢任何提示或帮助.我正在使用Xcode 7.1.
在我的iOS应用程序中,我使用Core Data来存储数据和获取请求以创建NSManagedObject要在a中显示的s 数组UITableView.
在Watch OS上,我检查是否WCSession支持并激活会话,然后从iOS应用程序向watchOS扩展发送消息.
当iOS应用程序从watchOS收到消息时,它应该将数组发送Objects到watchOS扩展中以显示数据WKInterfaceTable,但我不确定如何执行此操作.最终我想要实现的是;
如何Objects与watchOS扩展共享数组?
如果用户在Watch上的数组中添加/编辑/删除对象,我们如何更新iPhone上的数据?
此外,iOS应用程序嵌入在一个内容中,UITabBarController因此与哪个视图控制器进行通信也很重要?
观看OS FavouritesInterfaceController
var session : WCSession!
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
//Check if session is supported and Activate
if (WCSession.isSupported()) {
session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
}
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
// Interface Objects
//Send Message …Run Code Online (Sandbox Code Playgroud) 我WKInterfaceLabel在运行watchOS 5的Apple Watch应用程序中有一个.我将其属性字符串设置为包含应用于子字符串的粗体字体属性的字符串.运行应用程序时,粗体显示正确.但是,如果您在iPhone上的Watch应用程序中更改动态类型的大小,则手表上的文本大小会更改,但粗体消失.
我希望watchOS只是设置WKInterfaceLabel消除粗体字体的字体.保留其他属性,例如前景色.
我注意到NSNotification.Name.didChangeNotificationWatchKit不支持,所以我不能拦截这个大小的变化.
如何处理WatchKit中的动态类型更改?有没有办法在用户更改文本大小时保留属性字符串中的字体属性?
nsattributedstring swift apple-watch watchkit wkinterfacelabel