ComposeBackEndのsetSignature:メソッドをスウィズすることで、リモートサーバーから取得したカスタム署名を設定するPythonを使用してMail.appプラグインを作成しました。以下のクラスダンプに従って、setSignatureContents:を使用してプレーンテキストの署名を設定できます。これは機能的です。
@interface Signature : NSObject <NSCopying>
{
NSString *_uniqueId;
NSString *_name;
NSData *_webArchiveData;
BOOL _isRich;
BOOL _isSavedAsRich;
BOOL _isDirty;
MFSyncedFile *_syncedFile;
}
- (id)syncedFile;
- (id)signaturePath;
- (unsigned long long)hash;
- (BOOL)isEqual:(id)arg1;
- (BOOL)isRich;
- (void)setIsRich:(BOOL)arg1;
- (void)setWebArchive:(id)arg1;
- (id)webArchive;
- (id)webArchiveData;
.....
- (void)setSignatureContents:(id)arg1;
- (id)signatureContents;
- (void)setSignatureName:(id)arg1;
- (id)signatureName;
@end
ただし、setWebArchiveを使用してHTML署名を設定しようとすると、(NSDataオブジェクトを取得する必要があります):
signature.setWebArchive_(NSData.dataWithContentsOfURL_(NSURL.URLWithString_('http://...')))
次のエラーが発生します。
11/7/12 11:07:38.858 AM Mail[8820]: -[NSConcreteData data]: unrecognized selector sent to instance 0x7ffc2386bc00
(リモートファイルはすでに正しい形式になっています)
これを機能させる方法はありますか?前もって感謝します。
編集-これを試しました(応答する必要があるWebArchiveオブジェクトを返します-[data]
):
wds = WebDataSource.alloc().initWithRequest_(NSURLRequest.requestWithURL_(NSURL.URLWithString_('http://...')))
webarchive = wds.webArchive
signature.setWebArchive_(webarchive)
結果:
11/7/12 3:26:59.173 PM Mail[16814]: An uncaught exception was raised
11/7/12 3:26:59.173 PM Mail[16814]: Class OC_PythonObject: no such selector: data