Xcodeとobj-cの初心者の質問です。
私のプロジェクトでは、アプリを使用せずにSMSメッセージを送信するIBActionのボタンがあります(プロジェクトにリンクされたMessageUI)。iOS 5 コードでは問題なく動作しましたが、最新の Xcode で同じプロジェクトを開いて iOS 6 用に再コンパイルすると、次の警告が表示さ れました。
ご清聴ありがとうございました!
Xcodeとobj-cの初心者の質問です。
私のプロジェクトでは、アプリを使用せずにSMSメッセージを送信するIBActionのボタンがあります(プロジェクトにリンクされたMessageUI)。iOS 5 コードでは問題なく動作しましたが、最新の Xcode で同じプロジェクトを開いて iOS 6 用に再コンパイルすると、次の警告が表示さ れました。
ご清聴ありがとうございました!
この画像を見て:
http://uaimage.com/image/e71f051f
MFMailComposeViewControllerDelegateではなく、 MFMessageComposeViewControllerDelegateを使用する必要があります
うーん...本当に奇妙なことが起こった。
私のプロジェクト構造は次のとおりです。
YourProject (Root of the project with Xcode Project Icon)
/YourProject (Folder)
/Group X (Nested Folder)
/SomeViewController.h
/Group Y (Nested Folder)
/Group Y1 (Nested Folder)
/OtherViewController.h
/Group Y2 (Another Nested Folder)
/YetAnotherViewController.h
MFMessageComposeViewControllerDelegate と MFMailComposeViewControllerDelegate を使用するクラス SomeViewController は正常に動作しました。
...
@interface SomeViewController : UIViewController <MFMessageComposeViewControllerDelegate, MFMailComposeViewControllerDelegate> {}
...
同じ MFMessageComposeViewControllerDelegate と MFMailComposeViewControllerDelegate を使用するクラス OtherViewController と YetAnotherViewController はコンパイルされません!
エラーは次のとおりです。
および/または
そのため、インポートをチェックして再チェックし、すべてのメソッドと ViewControllers が同じであることを宣言しました。相違点はデータ オブジェクトの名前だけでした。
最後に、解決策は本当にばかげていました! ネストされたフォルダーを 1 レベル上に移動することで、この煩わしさを解決しました。すべてがうまくコンパイルされます!
どうやらライブラリのインポート (プロジェクトにライブラリを追加するとき) は、サブグループのファイルに到達しません! XCode と iOS 6 のバグだと思いますが、同じエラーが発生していました。
グループはプロジェクト構造内の仮想フォルダー (ファイル システムにはありません) であるため、これは非常に奇妙です。
私は時間と誰かを頭痛から救いたいと思っています!
MFMessageComposeViewControllerDelegate
ヘッダー (.h) ファイルに追加します。
例:UIViewController< MFMessageComposeViewControllerDelegate>