小编Mat*_*tia的帖子

Facebook开发者帐户最佳实践

在我的公司,我们需要创建一个Facebook开发人员帐户,但如果没有提供实际个人帐户(即我的个人帐户或其他员工的帐户)的详细信息,我们就无法做到这一点.使用个人账户没有多大意义(如果该人离开公司怎么办?如果账户持有人不希望其他开发人员访问他们的个人账户?等等),而我知道最高法院认为公司是人们创建一个与公司关联的假帐户感到奇怪.

在这种情况下人们通常会做些什么?

facebook

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

观察对UIView窗口和超视图属性的更改

我正在寻找一种在可见视图层次结构中添加或删除通用UIView时收到通知的方法.在这种情况下,KVO看起来像是完美的东西,但观察视图窗口或超视图属性的变化并没有做任何事情.对frame或backgroundColor等属性的更改按预期工作但更改为与视图层次结构相关的属性似乎从未调用observeValueForKeyPath.

我通过调用automaticNotifiesObserversForKey来检查UIView是否支持这些属性的KVO,UIView为两者报告了YES,让我不知所措.所以我的问题是:

1)是否有办法使用KVO通知与视图层次结构中添加/删除视图相关的事件?

2)如果没有,是否有其他方式可以通知不涉及UIView子类的事件?

key-value-observing uiview

24
推荐指数
2
解决办法
5893
查看次数

你可以阻止Xcode 4忽略SVN存储库中的.a文件吗?

我有一个使用Google AnalyticsSDK的Xcode 4项目.SDK包含两个带有标准.a扩展名的库.Xcode 4内置的SVN系统被设置为自动忽略.a文件,这对我来说是个问题(我需要它们在存储库中,不能要求使用存储库的每个人手动安装文件).

那么你可以阻止Xcode忽略.a文件吗?(我尝试右键单击文件 - >源代码控制 - >撤消忽略,但结果绝对没有任何反应).

svn xcode4

8
推荐指数
1
解决办法
3064
查看次数

EXC_BAD_ACCESS仅在测试期间使用ARC

我有一个问题,我得到了错误的访问异常,但只有在运行测试版本时(在调试版本中调用相同的方法不会导致问题出现).该项目启用了ARC,我使用Xcode 4.3在iPad 5.1模拟器上运行它:

这就是问题出现的地方:

- (void)testChangeFoodNotification {
    Player* p = [[Player alloc] init];
    [p addObserver:self forKeyPath:@"food" options:0 context:0]; // <-EXC_BAD_ACCESS (code=2)
    p.food += 1;
    STAssertTrue(_wasNotifiedOfFoodChange, nil);
}
Run Code Online (Sandbox Code Playgroud)

addObserver:调用该方法时,似乎不应该释放任何涉及的对象,那么可能导致异常的原因是什么?

编辑:

如果不清楚但上面的代码是作为测试用例的一部分执行(使用标准的Xcode OCUnit),请道歉.此外,如果它澄清了这里的任何内容,那么来自播放器类的相关代码(还有其他的ivars和方法,但它们与被测试的属性或方法没有任何关联):

// Public interface
@interface Player : NSObject

@property (nonatomic, assign) NSInteger food;

@end

// Private interface
@interface Player() {
    NSInteger _food;
}

@end

@implementation Player

@synthesize food = _food;

#pragma mark - Getters/Setters

- (void)setFood:(NSInteger)food {
    [self willChangeValueForKey:@"food"];
    _food = food;
    [self didChangeValueForKey:@"food"];    
}
Run Code Online (Sandbox Code Playgroud)

exc-bad-access ocunit ios automatic-ref-counting

7
推荐指数
1
解决办法
2021
查看次数

清除MKMapView的瓷砖缓存?

我正在开发一款使用MKMapView作为游戏场的iPhone游戏.仅仅几分钟的播放后,该应用程序不可避免地开始变得缓慢,并最终因内存不足而崩溃.挖掘罪魁祸首似乎是地图视图不断需要更多的记忆.游戏需要对地图进行大量的缩放和平移,因此我只能假设地图的平铺缓存一直在增长,直到内存耗尽为止.有没有办法强制地图视图刷新它的磁贴缓存或包含它的内存消耗?

iphone memory-management mapkit

6
推荐指数
1
解决办法
4213
查看次数

如何在Xcode 4.5中禁止丢失默认启动图像警告?

如果您没有在项目中包含"宽屏"默认启动图像,Xcode 4.5会提供"Retina 4支持"警告.

我的问题是,如果我不添加图像我的应用程序工作正常iPhone 5与操作系统添加一些信件拳击填补未使用的房地产,但我有一个警告我无法摆脱.如果我确实添加了一个图像应用程序使用全屏幕,这是一个问题(现在播放或启动和停止部分屏幕外的动画在屏幕上,等等)

所以我的问题是:

  • 有没有办法压制"Retina 4支持"警告?
  • 如果没有,是否有办法添加默认图像,同时保持应用程序在非宽屏"信箱"模式?

ios retina-display xcode4.5

6
推荐指数
1
解决办法
536
查看次数

创建无效的 UTF8 字符串

是否可以使用 Javascript 创建无效的 UTF8 字符串?

我发现的每个解决方案都依赖于String.fromCharCode生成undefined而不是无效的字符串。我见过提到由格式不正确的 UTF8 字符串生成的错误(即https://developer.mozilla.org/en-US/docs/Web/API/WebSocket#send()),但我无法弄清楚您将如何实际创建一个。

javascript utf-8

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

打字稿不从外部函数推断类型

有没有办法帮助编译器推断如下内容:

class Base<T> {
    children(... children: (A<any> | B<T>)[]) { return this }
    onVisit(handler:(context: T)=>void) { return this }
}

class A<T> extends Base<T> {
    constructor( public context: T ) { super() }
}

class B<T> extends Base<T> {}

const foo = new A({ bar: 1 })
    .children(
        new A({baz:2}).onVisit(({baz})=>{}),
        new B().onVisit(({bar})=>{}) // Fails here because it infers that the instance as type B<unknown> instead of B<{bar:number}>
    )
Run Code Online (Sandbox Code Playgroud)

这似乎不是因为编译器无法从调用函数中提取一些上下文,因为这是有效的:

function f1<T>(p: T, ...h: ((p:T) => void)[]) { }
function f2<T>(h: …
Run Code Online (Sandbox Code Playgroud)

type-inference typescript

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

自动续订订阅的最低目标iOS版本是多少?

是否有支持自动续订订阅所需的最低iOS版本?我知道这个功能是在iOS 4.3中引入的,但是我没有看到任何关于它的东西似乎迫使它仅适用于4.3及更高版本的设备.有没有人在旧版iOS上成功实现自动续订?

subscription ios

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

提升不返回类型

我有以下代码无法编译:

#include <iostream>
#include "boost/mpl/set.hpp"
#include "boost/mpl/at.hpp"
#include "boost/type_traits/is_same.hpp"

struct TypeSet {

    typedef boost::mpl::set<int, float> typeset;

    template<typename T>
    static bool hasType()
    {
        using namespace boost;
        using namespace boost::mpl;
        return is_same< at< typeset, T >::type, T >::value; // <-- ERROR IS HERE
    }  
};


int main(int argc, const char * argv[])
{
    bool hasInt = TypeSet::hasType<int>();
    std::cout << (hasInt ? "set contains int" : "set does not contain int") << std::endl;    
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

代码正在使用Apple LLVM clang 4.1编译器和boost 1.5.2编译,错误是"类型参数的模板参数必须是类型" - 基本上编译器抱怨 …

c++ boost template-meta-programming

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