小编Jer*_*emy的帖子

ParseKit.framework不起作用,找不到Foundation.h.

我真的很难过,试图让ParseKit.framework(这个)工作一般,甚至不用去实现它,直到它运行它附带的演示应用程序.

发生了什么是编译器无法找到<Foundation/Foundation.h>或其他东西,我认为标题是在链接框架中.确切错误:"Lexical或Preprocessor Issue:'Foundation/Foundation.h'文件未找到."

这是代码,只是来自ParseKit_Prefix.pch:

    //
    // Prefix header for all source files of the 'ParseKit' target in the 'ParseKit' project.
    //
    #ifdef __OBJC__
        #import <Foundation/Foundation.h>
    #endif
Run Code Online (Sandbox Code Playgroud)

没有什么不寻常的,我把文件路径搞砸了一些怎么样?我重新安装了Xcode,重新下载了ParseKit,没有任何帮助.这里的建议没有做任何事情,这不是这个.当我创建一个新项目或使用一个不同的项目并加载Foundation.framework和#import头时,它工作得很好.如果我取消链接框架,我找不到它再次重新链接.还有其他人有过这种问题吗?我在某处错误地下载了吗?我很难找到Xcode UI链接的东西,苹果必须得到一些令人沮丧的人,所以如果有人有什么他们能想到的请给我一些反馈,我现在非常困惑.

xcode objective-c foundation c-preprocessor parsekit

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

从沙箱切换后,推送通知在生产环境中不起作用

嗨所以我现在很困惑,不知道接下来该做什么.我花了最近两周的时间让这些推送通知正常工作,当我终于把它整齐整洁时,我把它放到一个adhoc发行包中并将服务器配置切换到生产环境,突然间什么都没有用,我没有任何错误消息.它应该工作,它应该工作,它不工作.所以我需要一些帮助,因为我迷路了.

可能的问题 -

主机配置

真正帮我把它摆在首位的工作是本教程这里,托管服务器的Heroku和应用程序是用写在西纳特拉这种宝石,如果不结转到生产环境中好歹我没有看到,请告诉我.要将环境更新为生产环境,我只更改了使用的密钥和来自gateway.sandbox.push.apple.com的主机到gateway.push.apple.com,如下所示:

server_config.jpg

APNS KEYS

我不认为是这样,但我不明白发生了什么,所以我记录了它,但我认为分配密钥有效 - 运行

openssl s_client -connect gateway.push.apple.com:2195 -cert dis_apskey.pem 
Run Code Online (Sandbox Code Playgroud)

在终端中获得了与推送服务器的这种连接和事务:

openssl_connecting.jpg

我相信它意味着它有效但我不确定(参见编辑答案,这并不意味着它有效).密钥是使用以下命令创建的:

openssl pkcs12 -in aps_distribution.p12 -out dis_apskey.pem -nodes
Run Code Online (Sandbox Code Playgroud)

从iOS开发门户网站下载的APS开发和发行证书的私钥或现在称之为的私钥,导出为.p12加密文件:

keychain.jpg

虽然,虽然从不同的私钥,他们确实变得异常相似(所有字符是相同的) -

在此输入图像描述

这是正常的吗?因为我从同一个CSR制作了两个推送服务证书,我不知道我完全迷失了......只是把它扔到那里,因为这些都不再有意义了.

代码签名

我相信这是正确的(来自我的xcode项目):

在此输入图像描述

这些对应于我的iOS Developer Portal中的证书和移动配置文件,我已经重新生成了许多新的,用xcode刷新它们,双重检查并重新加载到这个东西,我发现很难相信这是该区域问题.但只是为了确保我发布它,这些是当前的配置文件,是在APS证书颁发后制作的.再一次,这对我来说并没有多大意义,是的,我已经阅读了文档,它仍然是希腊语.

移动设备令牌

这再次,我不认为是问题.我的应用程序使用开发配置文件生成了一个令牌,沙盒能够将通知推送到它,并且它的工作非常好!然后,当我切换到adhoc配置文件并使用生产环境构建BUT时,我的应用程序生成了一个新令牌.我再说一遍,一切都在沙箱上正常工作但现在没有.

还有其他原因吗?

这就是我所能想到的,如果有人有别的东西请告诉我.我只是希望这个工作,如果苹果将它们发送回失败的推送,我无法看到错误,所以我不知道.它在开发人员沙箱中工作,应该现在正在工作,这是我能想到的.

谢谢.

code-signing heroku production-environment apple-push-notifications ios

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