2012-01-31 20 views
1

私はアプリストアに提出しようとしているアプリに対して上記のクラスを使用しています。 「私はPayload/のアプリケーション名が .app/のアプリケーション名:NSIntersectsRectの非公開のシンボルを参照しています。これが公開されていない場合は、同じ関数を扱えるクラスを知っていますか(つまり、四角形が他のものと重なっているかどうかを検出します)か、カスタム回避策を見つけなければなりませんか?何CGRectIntersectsRectについて -非公開APIの「NSIntersectsRect」はありますか?もしそうなら、選択肢はありますか?

+0

アップル社の文書によると公開されているので、ネット上でこのような問題の参照が見つかりませんでした。おそらく、NSIntersectsRectへの呼び出しのまわりで他の方法について不平を言っているのでしょうか?また、それを自分で実装することも、NSIntersectionRectで折り返してrectを返すことを確認することもできます。 – mit3z

+0

エラーメッセージは、特にNSIntersectsRectを指しています。答えでNSIntersectionRectのあなたの提案を詳述できますか? – RaysonK

+0

'NSInteresctsRect'はpublicです。これは、拒否の理由が間違っているか、App Reviewが間違っていることを意味します。あなたが拒絶反応を尋ねるまで間違いが起きるまで、代替案に時間を費やしてはいけません。拒絶の本当の理由が戻ってくるので、浪費されるかもしれません。 – CRD

答えて

1

のような方法が間違いのような音作成するのですか?

+0

それを試してみてください。 「アーキテクチャ用の未定義のシンボルarmv7: "_CGIntersectsRect"、参照先: - * AppName * ViewController.oの[* AppController]で修正されました ld:アーキテクチャarmv7のシンボルが見つかりません' – RaysonK

+0

@RaysonKあなたにはタイプミスがあります(おそらくコンパイラの警告) – justin

+0

これは、エラーメッセージに表示される内容です。エラーコンソールから直接コピーしました。また、 'fix'は' NSIntersectsRect'(または 'CGIntersectsRect'、今は...)を使用するメソッドの名前です。 – RaysonK

1

はNSIntersectionRect

If the two rectangles don’t overlap, the returned rectangle has its origin at (0.0, 0.0) and zero width and height (including situations where the intersection is a point or a line segment)

のためのドキュメントによると、だから私の提案はとにかく...

- (BOOL)rect:(NSRect)rect1 intersectsRect:(NSRect)rect2 { 
    NSRect testRect = NSIntersectionRect(rect1, rect2); 
    return !NSEqualRects(testRect, NSMakeRect(0.0, 0.0, 0.0, 0.0) 
} 
+0

これは大変迷惑です。あなたが言ったことは理にかなっていて、コードをそのままコードに入れましたが、何とかXcodeはNSRectを型として認識しません。私はCGIntersectsRectを使ってみましたが、それは役に立たなかった。これはXcode 4.2の一般的なバグですか? – RaysonK

+1

NSRectはiOSのMac OS Xタイプで、CG *バージョンが必要です。 –

関連する問題