安装后第一次缺少Today部分中的widget图标.之后图标显示正常.我正在使用8.1.1 iPhone 6设备.
我试图将自定义字体添加到我今天的扩展名中.但字体总是返回nil.
1.将字体文件添加到todayWidget:
今天widget的TodayViewController中的3.init字体总是返回nil:
- (void)viewDidLoad {
[super viewDidLoad];
UIFont* ft = [UIFont fontWithName:@"octicons-local" size:20];
}
Run Code Online (Sandbox Code Playgroud)
我在我的主项目中使用了相同的方法,我可以获得自定义字体.
我该如何解决?
我有一个应用程序与今日小工具.所以我想对它进行一些UI测试.
我找到了打开今日/通知面板的方法.看起来很简单:
let statusBar = XCUIApplication().statusBars.elementBoundByIndex(0)
statusBar.swipeDown()
Run Code Online (Sandbox Code Playgroud)
但后来我找不到办法做一些有用的事情.可以在"今日/通知"面板中记录UI交互,但此类代码无法重现我的操作.
ios ios8-today-widget today-extension xcode-ui-testing ios9-today-widget
我在我的智慧结束,我得到一个奇怪的崩溃,只有当应用程序从通知中心启动时才会发生.点击本地通知(在通知方面)或调用extensionContext:openURL:completionHandler(来自my Today小部件)将使用customURL方案启动应用程序.
当应用程序运行时(热启动),没有问题,就像宣传的一样.当我杀死应用程序(在任务切换器中)然后尝试通过通知中心(冷启动)启动它时,我得到以下崩溃报告.
我搜索低和高的任何东西,找不到它.这只发生在iOS8设备上,iOS7设备没有问题(通知启动,显然没有今日小部件)
谁见过这个?
谢谢!
Date/Time: 2014-10-14 18:16:39.924 -0400
Launch Time: 2014-10-14 18:16:38.667 -0400
OS Version: iOS 8.0.2 (12A405)
Report Version: 105
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x000000016a4cbeb8
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x0000000195ebbbd0 objc_msgSend + 16
1 UIKit 0x000000018a27d840 -[UIApplication workspaceDidEndTransaction:] + 216
2 FrontBoardServices 0x000000018da7563c __31-[FBSSerialQueue performAsync:]_block_invoke + 24
3 CoreFoundation 0x000000018582a35c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 16
4 CoreFoundation 0x0000000185829464 __CFRunLoopDoBlocks + 308
5 CoreFoundation 0x0000000185827a88 …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以在今天的小部件中更新计时器的文本标签.我环顾四周但没有帮助我.
我的问题是我无法确定是否可以从iOS小部件打开某个URL.方法canOpenURL:在今天的小部件上不可用,因为没有UIApplication类.
此外,NSExtensionContext的openURL: 方法为布尔"成功"返回YES,即使URL无效也是如此.
下面的代码进入else条件(成功BOOL始终为YES),但同时模拟器显示弹出错误,如附图中所示.
NSURL* invalidURL = [NSURL URLWithString:@"fake://blablabla"];
[self.extensionContext openURL:invalidURL completionHandler:^(BOOL success) {
if (success == NO) {
DDLogWarn(@"Can't open URL: %@", invalidURL);
}
else{
DDLogInfo(@"Successfully opened URL: %@",invalidURL);
}
}];
Run Code Online (Sandbox Code Playgroud)
我有一个带有Today Extension的iOS 8应用程序.扩展中有一个UITableView,它正确呈现.但是,didSelectRowAtIndexPath似乎无法可靠地调用.我猜这是因为Notification Center是一个UIScrollView并且在这些中嵌入UITableView会导致一些问题,但我不确定.
有谁知道可能导致这个问题的原因是什么?
我们有一个与今天扩展集成的应用程序,我们使用xctool和Jenkins进行持续构建和内部分发.
在命令行中,我们使用之前
xctool -workspace our_workspace.xcworkspace -scheme app_schme -xcconfig path_to_xcconfig -configuration Release build archive -archivePath path_to_archive
Run Code Online (Sandbox Code Playgroud)
生成存档,然后导出到.ipa,它工作正常.
但是现在有了今天的扩展,我们必须使用另一个方案和xcconfig构建它,我们将证书和配置文件放在xcconfig中,因为今天扩展是一个新目标,应该使用自己的证书和配置文件构建,我想知道如何实现使用xctool.
任何帮助表示赞赏.
嗨,我有一个很奇怪的问题.我的今日小工具在模拟器中运行得非常好,但是当我选择在真实设备上运行并选择"今天"应用程序时,xCode只是说"在XXX的iPhone上运行今天",但在该设备上没有小部件.我检查了"不包括"部分,它也不存在.
我搜索了很多,大多数人有三种类型的问题:

那么任何建议都会受到高度赞赏吗?我已经尝试过清理项目,将其从重启xCode的设备中移除...我正在使用xCode 6.2并试用iPhone 5(iOS 8.2)和iPhone 6+(8.2)
UPDATE
将设备更新到iOS 8.3因此xCode到6.3似乎解决了这个问题.但是我担心它是否适用于其他iOS 8.2设备.
解
由于@gaRik指出我的小部件部署目标设置为8.3,导致小部件在8.2设备上失败.
我有一个警报应用程序,最近用今天的小部件扩展程序驱动它.我需要从今天的小部件打开和关闭警报,但"打开"和"关闭"的代码在应用程序内,而不是小部件.如何message从今天的小部件发送到主应用程序?
ios ×9
objective-c ×3
ios8 ×1
message ×1
swift ×1
timer ×1
uifont ×1
xcode ×1
xcodebuild ×1
xctool ×1