0
我正在使用MFMessageComposeViewController
在應用程序內發送消息。帶有預寫體的應用內短信限制爲40個字符
問題:
當我發送文本消息到非iPhone(例如Nexus之一),該消息被總是分裂成兩個或更多個文本消息。
但是,如果我直接從本地消息應用程序發送相同的消息,則消息將在單個消息中傳遞。
然後我最近才發現這個,其實發生的是消息體被40個字符分裂,我無法弄清楚情況。
什麼可能是錯的?有沒有解決這個問題的方法?
CODE:
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
controller.body = @"This is a sample body which is containing more than 40 characters...";
controller.recipients = phnNumbersArray;
controller.messageComposeDelegate = self;
[self.view presentModalViewController:controller animated:YES];
}
[controller release];
如果郵件正文包含甚至只有一個非ASCII字符,然後MFMessageComposeViewController統計字符數乘以4。 的數量因此當消息體達到40個字符MFMessageComposeViewController將其計數爲160.由於一個移動消息長度爲160,因此它將消息分成若干部分(在非ASCII字符後面的40個字符中,它就像160個ASCII字符,因此它也會由網絡提供商爲多條消息收費)。 因此,如果您從其他地方複製並粘貼郵件正文,請確保它們不包含非ASCII字符。這就是發生在我身上的事情。 :) – 2013-10-10 08:48:24