小编Gre*_*g W的帖子

用于提供iPhone .ipa文件的正确mime类型是什么?

我正在尝试将.ipa文件发布到我们的apache web服务器上,以便我们的beta测试人员下载.目前我在.htaccess中使用以下行来提供文件:

AddType application/octet-stream .ipa
Run Code Online (Sandbox Code Playgroud)

这在Safari和Firefox中运行良好,但在IE中,.ipa扩展名被删除,而是替换为.zip.因此,IE用户将获得MyApp.zip而不是MyApp.ipa.

我知道我可以在将它们放到服务器上之前将所有.ipa压缩起来,然后我就不必处理任何这些了,但是如果有一个更优雅的解决方案服务器,我想避免这个额外的步骤-侧.

或者更确切地说,是否可以简单地阻止IE更改文件扩展名?

apache iphone .htaccess

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

如何在Rails中输出JSON而不转义反斜杠

我需要以一种不同寻常的格式为客户输出一些JSON.我的应用程序是用Rails 5编写的.

期望的JSON:

{
  "key": "\/Date(0000000000000)\/"
}
Run Code Online (Sandbox Code Playgroud)

时间戳值需要\/在字符串的开头和结尾都有.据我所知,这似乎是.NET服务中常用的一种格式.我试图让斜线正确输出.

我通过单个控制器操作将问题简化为vanilla Rails 5应用程序.到目前为止,我能想到的逃逸的所有排列都失败了.

def index
  render json: {
    a: '\/Date(0000000000000)\/',
    b: "\/Date(0000000000000)\/",
    c: '\\/Date(0000000000000)\\/',
    d: "\\/Date(0000000000000)\\/"
  }
end
Run Code Online (Sandbox Code Playgroud)

其中输出如下:

{
    "a": "\\/Date(0000000000000)\\/",
    "b": "/Date(0000000000000)/",
    "c": "\\/Date(0000000000000)\\/",
    "d": "\\/Date(0000000000000)\\/"
}
Run Code Online (Sandbox Code Playgroud)

为了便于讨论,假设格式不能改变,因为它是由第三方控制的.

我已经向Github上传了一个测试应用程序来演示这个问题.https://github.com/gregawoods/test_app_ignore_me

ruby json ruby-on-rails

13
推荐指数
2
解决办法
1952
查看次数

在这个CGBitmapContextCreate中,为什么bytesPerRow为0?

我在Apple的示例代码中注意到它们通常在CGBitmapContextCreate的bytesPerRow参数中提供值0.例如,这来自Reflection示例项目.

CGContextRef gradientBitmapContext = CGBitmapContextCreate(NULL, pixelsWide, pixelsHigh,  
                                                            8, 0, colorSpace, kCGImageAlphaNone);
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很奇怪,因为我总是把图像宽度乘以每个像素的字节数.我尝试将零交换到我自己的代码中并进行测试.果然,它仍然有效.

size_t bitsPerComponent = 8;
size_t bytesPerPixel = 4;
size_t bytesPerRow = reflectionWidth * bytesPerPixel;   

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL,
                                             reflectionWidth,
                                             reflectionHeight,
                                             bitsPerComponent,
                                             0, // bytesPerRow ??
                                             colorSpace,
                                             kCGImageAlphaPremultipliedLast);
Run Code Online (Sandbox Code Playgroud)

根据文档,bytesPerRow应该是"每行位图使用的内存字节数".

那么这笔交易是什么?我何时可以提供零,何时必须计算确切的值?以某种方式做到这一点有什么性能影响吗?

core-graphics objective-c ios

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

将Facebook元标记放在Rails应用程序中

我已经实现了Omniauth和Koala7宝石,以便将我的应用程序与Facebook集成.除了使用自定义对象发布自定义操作的一个小问题外,一切都运行良好.

问题是我的对象url应该是新创建的帖子的显示页面,例如/ posts/1.为了使这个页面被识别为facebook对象,我需要将facebook元标记放在show.html.erb之上,如下所示:

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# sdff: http://ogp.me/ns/fb/sdff#">
  <meta property="fb:app_id" content="myid" /> 
  <meta property="og:type"   content="sdff:post" /> 
  <meta property="og:url"    content="<%= "http://sdff.herokuapp.com" + post_path(@post) %>" /> 
  <meta property="og:title"  content="Sample" /> 
  <meta property="og:image"  content="https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png" /> 
</head>
Run Code Online (Sandbox Code Playgroud)

问题是facebook 对象调试器将其识别为type:webpage而不是type:post.我认为这是因为/layouts/application.html.erb中已经存在默认的head标记,如下所示:

<head>
  <title>sdff</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
Run Code Online (Sandbox Code Playgroud)

我假设这是因为对象调试器特别指出:

身体中的元标签:你有你的标签.这可能是因为您的格式错误并且它们在解析树中降低了,或者您不小心将Open Graph标记放在了错误的位置.无论哪种方式,您都需要在标签可用之前修复它.

那么我该如何解决这个问题呢?我需要将facebook元标记放在我的脑中show.html.erb,但页面本身已经是整个应用程序布局的一部分.

ruby-on-rails meta-tags facebook-opengraph

3
推荐指数
1
解决办法
4299
查看次数