小编jee*_*yul的帖子

@import导致解析问题:"无法构建模块"

用Xcode 6.3更新后,我发现我的项目有些奇怪的东西.

下面的代码导致解析问题"无法构建模块'AgendaFramework'",AgendaFramework是我为ios8定制的嵌入式框架:

@import MyEmbededFramework;
Run Code Online (Sandbox Code Playgroud)

错误标记如下所示:

错误

在索引编制期间未提出问题.整个建筑可以成功执行,没有任何错误或警告.我可以构建,存档,在设备上运行,部署,提交到App Store.

但是,当我编辑属于扩展名的类时,会显示错误标记.扩展(小部件)显式链接到嵌入式框架.(我知道当我使用@import语句时我不必这样做.)

在这种状态下,我无法收到任何有效的内容助手,非常烦人.

用旧样式替换import语句后,问题就消失了:

#import <AgendaFramework/AgendaFramework.h>
Run Code Online (Sandbox Code Playgroud)

我有几个其他项目与项目的拓扑非常相似,导致这个问题,但他们没关系.只有一个项目会导致此问题.我比较了每个细节构建设置,我找不到任何线索.

我试过了:

  • 删除派生数据
  • 全面清洁
  • 重启

任何线索都受到欢迎.谢谢!

xcode xcode6.3

36
推荐指数
1
解决办法
2万
查看次数

卸载应用程序不会删除应用程序组数据.我是否必须手动删除应用程序组容器及其内容?

我创建了Today Extension第一次在iOS 8中引入的.为了在Today extension它之间共享数据container App,我定义了一个app group,并将它们绑定到这个组.(实际上我还添加了一个嵌入式框架来重用两边的代码.)

Apple的文档中描述了此方法的详细信息.

我创建了一些核心数据模型并将其作为sqlite存储在组容器中.然后一切都按照我的想法运作.

但是,当我卸载容器应用程序时,我的iPhone上仍然有共享容器及其内容.我想当卸载应用程序组的最后一个成员时,必须自动删除此容器.在我的情况下,应用程序组的成员只附带一个应用程序,因此,卸载此应用程序应该必须清除共享容器.

我错了吗?

PS.我找不到以用户身份删除此共享容器的方法.只有拥有访问app-group权限的开发人员才能通过编程删除此容器.

ios ios8 ios-app-extension ios-app-group

18
推荐指数
1
解决办法
3160
查看次数

用于打开具有特定事件ID的本机日历的URL方案

起初,我知道这种方法没有公共API.


从iOS8本机日历窗口小部件中点击事件会启动具有特定事件的日历.所以,我可以猜测必须有一个URL方案.因为小部件和日历适用于每个沙箱,所以NSURL必须使用.


我从iPhoneDevWiki.net找到了一些线索.它说这calshow:x?eventid=id是一个打开特定事件的URL方案,它被使用SpringBoard.

由于idparam 的值没有明确描述,所以,我测试了这个url方案:

  • EKEvent.calendarItemIdentifier
  • EKEvent.externalCalendarItemIdentifier
  • EKEvent.eventIdentifier

他们都没有工作.

维基可能已经过时了.

是否有人可以使用本机日历打开或显示特定事件?


在Stack Overflow中找到了类似问题的另一条线索.

calshow:计划.

它似乎用于具有特定日期的打开日历.它可以用作calshow:[time interval since reference date],参考日期似乎是1/1/2001

它可用于显示事件而不是打开它.但是,当日历未在后台运行时,此方法也不起作用.


而且我还发现该x-apple-calevent方案也可以启动日历,但我根本不知道细节(路径和参数).


任何线索和意见都将受到欢迎.

最好的Regars.

ios ekcalendar

14
推荐指数
1
解决办法
2014
查看次数

仅在1900年Java日期计算中出现30分钟错误

package check;

import java.util.Calendar;

public class Test {
    public static void main(String[] args) {
        // length of a day
        long DAY_MILLIS = 1000 * 60 * 60 * 24;

        Calendar cal = Calendar.getInstance();

        cal.set(1900, 0, 1, 0, 0, 0);
        System.out.println(cal.getTime());

        cal.setTimeInMillis(cal.getTimeInMillis() + DAY_MILLIS);
        System.out.println(cal.getTime());
    }
}
Run Code Online (Sandbox Code Playgroud)

它的结果是:

Mon Jan 01 00:00:00 KST 1900
Mon Jan 01 23:30:00 KST 1900 // Where is 30 minutes here?
Run Code Online (Sandbox Code Playgroud)

最有趣和最重要的线索是这个问题发生在年仅1900年.

java time calendar

9
推荐指数
1
解决办法
1420
查看次数

从 Node.js 生成 javascript 的最佳模板引擎

对我来说,要生成 HTML 或 XML,pug 是我最喜欢的一种。

但是,当预期结果不是基于标记语言时,我曾经使用 Handlebars。但是当我使用handlebar动态生成javascript时,维护模板和保持生成代码漂亮的可读性非常困难。

当我用 java 做同样的事情时,我更喜欢使用 Xtend。

是否有任何旨在生成代码的模板引擎?(这不是基于 AST)


全场景

  1. 我使用 TypeScript 制作了一个 Java Script 库。
  2. 为了使 Eclipse 的 Java Script 类型推理引擎能够支持该库的内容辅助,我需要创建一些 TS 到 JS 骨架的反编译器。(结果js只包含Eclipse JS功能的scheme和js-doc)
  3. 我使用 NPM 的 type-script 来检查库方案。
  4. 我将 TypeScript AST 转换为我自己的目的模型来生成 JavaScript 文件。
  5. 然后我需要从这个模型生成 Java Script 文件,我正在寻找最好的模板引擎。
  6. 模板引擎应该易于管理缩进、迭代、条件模板,以生成具有可读模板的清晰代码。

code-generation template-engine node.js

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