小编Sen*_*ful的帖子

从Reminders API访问深层链接信息?

iOS 9引入了一个新的提醒功能,允许您深层链接回任何应用程序(包括实现NSUserActivity API的第三方应用程序).

例如,如果您启动消息,请点按一个对话,按住主屏幕按钮,然后说出"在5分钟内提醒我这一点",您将收到一条带有消息图标的提醒.稍后在"提醒"中点击"消息"图标将直接转到该对话.

如果我使用EKReminder API,我可以收到此提醒,但是我可以获得任何其他信息吗?

换句话说,有没有办法:

  • 知道这个提醒有与之相关的特殊元数据吗?
  • 获取与之相关的深层链接?
  • 获取将处理深层链接的应用程序图标(就像Reminders应用程序一样)?

来自Apple的iOS 9页面:

在此输入图像描述

"当我上车时,请提醒我."

Siri可以提醒您在应用程序中查看的内容(如Safari,Mail和Notes),并希望稍后再进行跟进.如果您正在通过电子邮件中途,您可以说"今晚提醒我这件事."或者,如果您要查看地图中的某个地方,您希望稍后停下来,那么当您上车时可以要求提醒.

cocoa-touch reminders deep-linking eventkit ios9

5
推荐指数
0
解决办法
327
查看次数

你可以并行运行Xcuitests吗?

想知道是否有人找到了并行运行Xcuitests的方法.非常确定此功能不是内置的,但如果您可以从命令行运行特定的Xcuitest,则可以编写可以将其分布在多台计算机上的脚本.

那么子问题,你如何从命令行运行特定的Xcuitest?

我很感激,如果有人玩这个并且可以分享他们所学到的东西,或者他们有什么资源可以指出我.谢谢!

testing xcode ios ios7 xcode-ui-testing

5
推荐指数
1
解决办法
1007
查看次数

将3D Touch Quick Actions添加到Safari主屏幕快捷方式?

随着iPhone 6s的推出,3D Touch被宣布.有了这个,出现了一个名为Quick Actions的新功能.这些允许您在主屏幕上快速访问1-4个操作,只需通过3D触摸即可.

例如,地图应用提供以下4个快捷方式:

在此输入图像描述

如果用户通过Safari将我的网页添加到他们的主屏幕,是否有一个API可以指定当他们按下图标时会出现哪些快速操作?(目前当他们3D触摸图标时,它什么也没做.)

如果我的网页是apple-web-app-mobile-capable- 作为一个独立的应用程序运行 - 会让我提供快速行动怎么办?

mobile-safari ios quickaction iphone-standalone-web-app 3dtouch

5
推荐指数
0
解决办法
415
查看次数

AccessibilityIdentifier 的良好命名约定吗?- XCode 7 UI 测试 - 录音

是否有针对可访问性标识符的既定命名约定(与 Xcode UI 测试记录相关)?

我正在研究可访问性和 UI 测试。我使用了 Xcode 7 中的新记录功能。在记录 UI 操作时,我注意到:

当我有一个标有“a”的按钮并记录点击两次时,我得到以下代码:

XCUIElement *aButton = [[XCUIApplication alloc] init].buttons[@"a"];
[aButton tap];
[aButton tap];
Run Code Online (Sandbox Code Playgroud)

当我将其accessibilityIdentifier 设置为“a”并重复录制时,我得到相同的代码。

本地化标签会干扰辅助功能标识符吗?(如果在某些语言中,按钮 X 突然将“a”作为标签,而按钮 Y 将“a”作为可访问性标识符 - 这是否会产生歧义/冲突?)

我的第一个想法是为可访问性标识符设置一个唯一的前缀 - 比如“@”。所以我尝试了“@a”、“@1”等。

然而,使用“@1”记录会导致以下代码:

XCUIElement *1Button = [[XCUIApplication alloc] init].buttons[@"@1"];
[1Button tap];
[1Button tap];
Run Code Online (Sandbox Code Playgroud)

这会产生编译器错误,因为1Button不是有效的标识符。显然,可访问性标识符被添加到按钮的变量名称前面,并删除了一些字符。

使用“1”记录会导致以下代码:

XCUIElement *button = [[XCUIApplication alloc] init].buttons[@"1"];
[button tap];
[button tap];
Run Code Online (Sandbox Code Playgroud)

这引出了另一个问题:

我可以影响 Xcode 在记录期间派生变量名称的方式吗?

我知道,我可以手动进行记录和清理变量名。然而,如果可以在某个地方轻松配置它,那就太愚蠢了。

xcode ios xcode-ui-testing

5
推荐指数
0
解决办法
1679
查看次数

如何使用类似于Lister App的iOS和watchOS 2之间的共享框架设置项目?

利斯特应用是苹果的只有苹果观察样本项目之一.它首先是为支持watchOS 1而编写的,后来在2015年9月16日更新以支持watchOS 2.因此,有许多目标,组等不能一致地命名,因此很难理解是什么.

我想创建一个类似的项目,我有一个iOS和带有共享代码/框架的watchOS 2.由于Lister应用程序的复杂性,我很难理解如何设置这样的项目.

我应该如何设置项目以便在watchOS 2和iOS应用程序之间共享代码?(注意:不要求支持watchOS 1.)


作为参考,以下是Lister应用程序中的目标,方案和组的列表:

  • 目标: Lister,Lister Tests,Lister Today,Lister WatchKit Extension,Lister WatchKit App,ListerKit,ListerKit Tests,Lister Watch Extension,Lister Watch App,ListerKit(watchOS),Lister(OS X),Lister Today(OS X),ListerKit (OS X),ListerKit测试(OS X)
  • 方案: Lister,Lister Today,Lister WatchKit App,Glance - Lister WatchKit App,ListerKit,Lister Watch App,Glance - Lister Watch App,ListerKit(watchOS),Lister(OS X),Lister Today(OS X),ListerKit(OS) X)
  • 团体: Lister iOS App,Lister WatchKit App,共享Lister WatchKit代码,Lister Watch App,Lister OS X App,共享ListerKit框架代码,共享Lister资源

ios ios-frameworks apple-watch

5
推荐指数
1
解决办法
1878
查看次数

尝试“验证应用程序”或“分发应用程序”时如何访问 Xcode 崩溃日志?

我正在尝试向 TestFlight 提交构建。我通过选择“通用 iOS 设备”产品 > 存档创建了一个存档。然后打开“窗口”>“管理器”。

在那里我有两个选择:

  1. 分发应用程序
  2. 验证应用

如果我选择验证应用程序,Xcode 会立即崩溃,而且我看不到任何错误消息。如果我选择分发应用程序 > iOS 应用程序商店 > 上传,它会显示“分析签名”并立即再次崩溃(没有错误消息)。

如果我尝试验证不同的应用程序,它会成功。因此,这个项目的设置有问题。但是,因为它立即崩溃并且没有显示错误消息,所以我不知道是什么来解决它。

有没有办法在任何地方查看崩溃日志,以便我更好地了解如何解决这个问题?

我尝试在 Xcode 10.1 和 Xcode 10.2 beta 4 上运行。两者都有相同的行为。

xcode crash-log testflight

5
推荐指数
1
解决办法
3067
查看次数

在C#中将HTML写入WebBrowser的正确方法是什么?

如果不是导航到WebBrowser中的网页,而是想直接设置HTML属性,那么正确的方法是什么?

是这样的吗?

myWebBrowser.Navigate("about:blank");
myWebBrowser.Document.Write("<html><body>Test</body></html>");
Run Code Online (Sandbox Code Playgroud)

html c# browser

4
推荐指数
1
解决办法
4582
查看次数

在aurioTouch示例应用程序中确定哪些频率对应于x轴

我正在查看iPhone SDK 的aurioTouch示例应用程序.当您选择"FFT"选项时,它会实现一个基本的频谱分析仪.应用程序缺少的一件事是X轴标签(即频率标签).

aurioTouchAppDelegate.mm文件中,在第- (void)drawOscilloscope652行的函数中,它具有以下代码:

if (displayMode == aurioTouchDisplayModeOscilloscopeFFT)
{           
    if (fftBufferManager->HasNewAudioData())
    {
        if (fftBufferManager->ComputeFFT(l_fftData))
            [self setFFTData:l_fftData length:fftBufferManager->GetNumberFrames() / 2];
        else
            hasNewFFTData = NO;
    }

    if (hasNewFFTData)
    {

        int y, maxY;
        maxY = drawBufferLen;
        for (y=0; y<maxY; y++)
        {
            CGFloat yFract = (CGFloat)y / (CGFloat)(maxY - 1);
            CGFloat fftIdx = yFract * ((CGFloat)fftLength);

            double fftIdx_i, fftIdx_f;
            fftIdx_f = modf(fftIdx, &fftIdx_i);

            SInt8 fft_l, fft_r;
            CGFloat fft_l_fl, fft_r_fl;
            CGFloat interpVal;

            fft_l = (fftData[(int)fftIdx_i] & …
Run Code Online (Sandbox Code Playgroud)

iphone audio fft

4
推荐指数
1
解决办法
1603
查看次数

UIAutomation和XCTestCase:如何等待按钮激活

我正在写一个UIAutomation测试用例,我需要等待用户激活才能继续.似乎没有一种很好的方法可以检查按钮是否可以更改为启用状态.

什么是最好的是在检查它的状态之前等待UI中发生的事情?

dispatch_after和NSTimer似乎都不起作用.他们只是阻止失败.

ios ios-ui-automation xctest xcode7 xcode-ui-testing

4
推荐指数
2
解决办法
2632
查看次数

如何判断文件是否正确上传到git lfs?

我正在尝试将所有内容添加MyProject/Frameworks/git-lfs(大文件存储)中。我不确定递归匹配文件夹下所有文件和文件夹的正确格式Frameworks是什么。这个答案说的是正确的格式git lfs track "MyProject/Frameworks/**",但是Atlassian的帮助文件说我应该使用git lfs track "MyProject/Frameworks/"。我都尝试过,但它们都没有git lfs用于存储。它尝试直接上传文件。

当然,我很想知道正确的格式,但是更重要的是,在尝试将更改推送到github之前,我想确认匹配项和文件确实可以正常工作。这将允许我迭代并尝试新事物。

我看到两个相关的命令可能会有所帮助:git lfs statusgit lfs ls-files。目前尚不清楚我应该使用哪一个,以及我应该寻找什么输出。例如,当我运行时git lfs status,它向我显示了很多文件Git LFS objects to be committed,使我认为它们将被添加到Git LFS中。但是,在尝试推送到GitHub.com之后,我意识到事实并非如此。如果有帮助,这些文件的输出(Git: edee1ad)在每个文件名之后总会有类似的内容。

当我尝试使用时,git lfs ls-files我不确定git add在文件,提交后还是在推送文件后是否需要运行它。在大多数情况下,它只是向我显示空白输出。

本质上,问题是:如果配置git lfs正确,尝试提交/推送之前git lfs status应该使用什么工具(例如),以及应该寻找什么输出?

注意:请不要回答如何匹配所有递归文件的问题,因为这将对我有一次帮助(此特定情况),而不是让我反复尝试新事物(任何情况)。

git github git-lfs

4
推荐指数
1
解决办法
1548
查看次数