如何为iOS开发短信客户端?

时间:2011-03-24 18:53:12

标签: iphone objective-c xcode three20

我原来的标题是How to customize TTMessageController for SMS transmission?。我现在改变了这个,因为我寻找任何可能的解决方案,而不仅仅是那些TTMessageController

好吧,我正在xcode4中开发一个简单的应用程序。用户应该能够从不同的SMS网关发送短信

后台逻辑非常简单,因为所有内容都是通过在rest api上执行一些http请求来管理的。

现在对我来说很难的是设置用户界面,这是我需要帮助的地方,因为我是iOS开发的新手。这就是我想要的方式:

http://img222.imageshack.us/img222/3159/bhrfe.png

应该有收件人选择器来对联系人进行自动搜索或直接从联系人列表中选择联系人。我想要只有一个收件人。应该有一个文本区域。

我还希望在底部的某处有一个标签来显示当前的字符编号。

由于我没有在xcode4库中找到那些UI元素,所以我搜索了类似的东西,然后我找到了TTMessageController,它给了我在图片中看到的视图。

然而,加号按钮不起作用,我不知道如何扩展所有这些以做我想要的。

我对此表示赞赏。

2 个答案:

答案 0 :(得分:2)

对于+按钮,您可以使用地址簿UI:

// This Code is taken from Apple's sample code QuickContacts
#import <AddressBookUI/AddressBookUI.h>

-(void)showPeoplePickerController {
    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;
    // Display only a person's phone, email, and birthdate
    NSArray *displayedItems = [NSArray arrayWithObject:[NSNumber numberWithInt:kABPersonPhoneProperty]];


    picker.displayedProperties = displayedItems;
    // Show the picker 
    [self presentModalViewController:picker animated:YES];
    [picker release];   
}

<ABPeoplePickerNavigationControllerDelegate>代表包括以下方法:

– peoplePickerNavigationController:shouldContinueAfterSelectingPerson:
– peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:
– peoplePickerNavigationControllerDidCancel:

选择一个人后,您可以将他/她的号码保存在一个数组和文本字段中(例如以逗号分隔)

关于这里是否批准的问题是指南:
https://developer.apple.com/appstore/resources/approval/guidelines.html

  

22.6启用匿名或恶作剧电话或短信/彩信的应用将被拒绝

答案 1 :(得分:0)

您无法使用TTMessageController发送短信。发送短信的唯一可能方法是使用MFMessageComposeViewController。以下是如何使用它的教程:http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/