小编Max*_*iel的帖子

Facebook iOS 3.1 SDK:可以使用Safari登录,但不能本机登录

我正在整合iOS 3.1 Facebook SDK.当我使用Facebook功能登录时,我会打电话FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:.在模拟器上调用时(我没有在本地设置FB帐户)我可以成功登录.

但是,从具有本机Facebook帐户设置的设备调用openActiveSessionWithReadPermissions...完成处理程序中返回的会话类型时sessionStateClosedLoginFailed,无论我是允许还是禁止我的应用程序在警告对话框中使用Facebook.调用方法之前的会话状态是sessionStateCreated.

这是NSError来自完成处理程序: Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x20a80820 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (No value.) UserInfo=0x208ed930 {NSDebugDescription=No value.}}

我做错了什么会导致这个问题?

更新:我刚刚注意到我的应用程序没有出现在设置> Facebook>"允许这些应用程序使用您的帐户"部分.(它肯定在今天早些时候).

Update2:如果我从iOS设置应用程序中删除我的帐户,然后将我的测试用户登录到Facebook iPhone应用程序,我可以通过快速应用程序切换登录.所以它似乎只是本机帐户的问题.

Update3:我运行样本Facebook应用程序Scrumptious我有同样的问题.单击"登录",调用openActiveSessionWithRead...我得到相同的错误.

Update4:可能与这个bug有关?http://developers.facebook.com/bugs/450137751688028?browse=search_50a43a39b37ae4868318658

Update5:我之前应该提到这一点,但它是一个Facebook测试用户帐户,有这个问题.

ios facebook-ios-sdk

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

如何防止我的Rails查询最大化内存

我正在使用运行我的Rails应用程序的服务器来运行查询.尽管使用find_each,服务器的内存被我的控制台会话吃掉了,我不知道为什么.基于这个SO答案,我还ActiveRecord::Base.uncached用来阻止ActiveRecord缓存所有对象并占用内存.

编辑:想出来,感谢@ user2864740和Micah Fivecoate.问题在于将任务发送到Resque,我正在使用Resque Delayable gem(请参阅下面的答案).

这是我正在做的事情:

ssh cron.ec2.company-name.com
cd /var/www/company-name.com/current; bundle exec rails console production
Run Code Online (Sandbox Code Playgroud)

然后,在控制台中:

ActiveRecord::Base.uncached do
  ModelObject.find_each do |obj|
    a = AnotherModelObject.find_by_model_id(obj.id)
    a ||= AnotherModelObject.create!(obj.id)
    a.send_task_to_resque
  end
end
Run Code Online (Sandbox Code Playgroud)

一旦我终止了我的SSH会话,内存就被释放了.

我在Linux上使用ruby 1.9.3p327运行Rails 3.2.15.

我收到了通过SSH会话发回给我的所有SQL查询的文本 - 也许这是保存在内存中的东西?接下来我可能会尝试conf.echo = falseActiveRecord::Base.logger.level = 1.编辑:这没有修复内存使用情况

ruby memory ssh activerecord ruby-on-rails

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

Cabal 1.18几乎可以在OS X上的所有内容中提供总线错误10

我将Cabal从Haskell平台附带的1.16版本升级到1.18,但几乎每个命令都会立即死掉Bus error: 10:

$ cabal install aeson
Bus error: 10

$ cabal sandbox init
Bus error: 10

$ cabal list
Bus error: 10
Run Code Online (Sandbox Code Playgroud)

(cabal help虽然仍然有效)

操作系统版本:OS X Mavericks 10.9.1

Cabal版本:

$ cabal --version
cabal-install version 1.18.0.2
using version 1.18.1.2 of the Cabal library
Run Code Online (Sandbox Code Playgroud)

GHC版本:

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.6.3
Run Code Online (Sandbox Code Playgroud)

haskell cabal

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

为什么我不能在Yesod中从Handler返回ByteString?

我正试图ByteStringHandlerYesod的函数中返回一个:

getHomeR :: Handler ByteString
getHomeR = return "foo"
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

/Users/maximiliantagher/Documents/Mercury/hs/mercury-web-backend/src/Application.hs:48:1: error:
    • No instance for (ToTypedContent ByteString)
        arising from a use of ‘yesodRunner’
    • In the expression:
        yesodRunner getHomeR env1404_axwe (Just HomeR) req1404_axwf
      In a case alternative:
          "GET"
            -> yesodRunner getHomeR env1404_axwe (Just HomeR) req1404_axwf
      In the expression:
        case Network.Wai.Internal.requestMethod req1404_axwf of {
          "GET"
            -> yesodRunner getHomeR env1404_axwe (Just HomeR) req1404_axwf
          _ -> yesodRunner
                 (void badMethod) env1404_axwe (Just HomeR) req1404_axwf }
Run Code Online (Sandbox Code Playgroud)

为什么会这样,为什么不ByteString有一个ToTypedContent …

haskell bytestring yesod

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

如何使用cabal new-test对测试结果进行流式处理?

使用cabal test,您可以使用流式传输结果cabal test --show-details=streaming.

我无法找到类似的选项cabal new-test.是否可以使用流式传输结果new-test

haskell cabal cabal-new

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

如何在Objective-C中转发类方法?

在Objective-C中,我知道您可以将选择器从一个实例转发到另一个:

- (id)forwardingTargetForSelector:(SEL)aSelector;
Run Code Online (Sandbox Code Playgroud)

如何将类方法转发到另一个类?resolveClassMethod:似乎不合适,因为我不想向类动态添加方法,只需转发调用即可。

编辑:到目前为止,我最好的是创建一个实例,将其选择器转发到类对象,如下所示:

- (id)forwardingTargetForSelector:(SEL)aSelector
{
    return NSClassFromString(@"TheClass");
}
Run Code Online (Sandbox Code Playgroud)

它有点丑陋,因为代理对象必须接受实例方法,所以代理必须为要代理的类方法声明实例方法。

proxy forwarding objective-c

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

如何在Objective-C中在运行时查找字符串常量?

我公司开发了一个广告SDK,用于调解其他广告网络.在运行时,它通过使用检查其他广告网络是否存在NSClassFromString,并在它们存在时发送这些类消息.

这适用于Objective-C对象,但如何在运行时加载字符串常量?在这种情况下,我想检查只能通过字符串常量(extern NSString* VungleSDKVersion;)获得的SDK版本

objective-c objective-c-runtime ios

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

当存在一行时,为什么我的 Postgres DELETE 会删除零行?

我有一个表transaction_metadata,其中一行带有主键:ac98435e-3eb3-11e9-8a32-4713408df551,它显示在 SELECT 语句中。

在事务中,删除它(DELETE FROM transaction_metadata WHERE id = 'ac98435e-3eb3-11e9-8a32-4713408df551')表示删除 0 行。稍后在事务中,删除该transaction_metadata行引用的行由于破坏外键约束而失败。

怎么会这样?为什么DELETE当它存在于 中时会说它删除了 0 行SELECT,并且外键约束说它存在?

postgresql triggers foreign-keys

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

有没有更好的方法在rails中创建只读属性?

我正在Rails中创建一个ActiveRecord对象,该对象希望具有只读属性。我最初尝试使用,attr_readonly但是很沮丧地发现它:

  1. 禁止大规模更新这些属性,即使在新记录上也是如此
  2. 如果记录已保存,则没有引发异常,也没有通知您以任何方式更改了只读属性。

我想要这两个功能;这是我尝试的实现:

# For use with ActiveRecord

module ReadOnlyAttributes

  class ReadOnlyAttributeException < StandardError
  end

  def create_or_update # Private, but its what every method gets funneled through.
    if !self.new_record? && self.respond_to?(:read_only_attributes)
      changed_symbols = self.changed.map(&:to_sym)
      if changed_symbols.intersect?(self.read_only_attributes)
        raise ReadOnlyAttributeException, "Readonly attributes modified on #{self.class}: #{changed_symbols & self.read_only_attributes}"
      end
    end

    super
  end

end
Run Code Online (Sandbox Code Playgroud)

然后在我的模型中:

class Model < ActiveRecord::Base

  include ReadOnlyAttributes

  def read_only_attributes
    [:event_type]
  end

end
Run Code Online (Sandbox Code Playgroud)

是否有内置或更好的方法来获取满足上述要求的只读属性?

我还是Ruby / Rails的新手,所以我也希望能收到任何风格上的评论。

ruby module ruby-on-rails

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

改善 UIWebView 初始化时间

我公司使用aUIWebView来展示广告。我遇到的问题是初始化 aUIWebView似乎很昂贵;使用 Time Profiler 进行分析显示[UIWebView alloc] initWithFrame:CGRectMake(0,0,500,500)]进行需要 31-40 毫秒。这足以在以 60 FPS 运行的游戏中导致明显的掉帧。

有没有办法解决这个缓慢的初始化时间?我目前的想法是UIWebView在应用程序启动时(但在游戏开始之前)创建一个,然后重用它(可能创建一个它们的池来重用,比如如何UITableViewCell工作)或尝试看看是否WKWebView有更好的性能。

performance objective-c uiwebview ios

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