【问题标题】:How to develop a SMS client for iOS?如何开发 iOS 短信客户端?
【发布时间】:2011-03-24 18:53:12
【问题描述】:

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

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

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

现在对我来说最困难的是设置 UI,而这正是我需要帮助的地方,因为我是 iOS 开发的新手。这就是我想要的样子:

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

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

我还想在底部的某处有一个标签来显示当前的字符数。

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

但是加号按钮不起作用,我不知道如何扩展这一切来做我想做的事。

我很感激对此的任何想法。

【问题讨论】:

  • “短信网关”是指不同的 SMSC 还是远程 API?
  • 我有一个短信服务器正在运行,我可以通过使用不同参数的 http 请求来发送短信,例如网关类型
  • 我对此不是 100% 确定,但我认为它很可能会被 App Store 拒绝,如果这是您计划采取的路线。谁能证实这一点?
  • 嗯,有趣的建议。在我在这个项目上投入更多时间之前,这一点应该很清楚......
  • 应用商店中有应用从网关发送短信。 WhatsApp 从网关发送短信以确认您输入的电话号码。该应用程序最终是否会被拒绝取决于Apple,但我认为它很有可能不会。

标签: iphone objective-c xcode three20


【解决方案1】:

对于 + 按钮,您可以使用地址簿 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];   
}

&lt;ABPeoplePickerNavigationControllerDelegate&gt; 委托包含以下方法:

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

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

.

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

22.6 启用匿名或恶作剧电话或 SMS/MMS 消息的应用程序将被拒绝

【讨论】:

    【解决方案2】:

    您不能使用TTMessageController 发送短信。发送短信的唯一可能方式是使用MFMessageComposeViewController。这是一个关于如何使用它的教程:http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/

    【讨论】:

    • 谢谢,但我想从我自己的网关发送短信。我可以自定义如何使用 MFMessageComposeViewController 发送短信吗?
    • @ArtWorkAD,那是另一回事。据我所知,MFMessageComposeViewController 没有什么可以改变的。您可能最好修改TTMessageController。不幸的是,我对TTMessageController 没有任何经验,所以我恐怕无法给你更好的答案。
    • @ArtWorkAD,出于好奇:您打算向您的用户赠送免费短信吗?
    • 用户可以在网关之间切换,其中一些提供免费短信。 TTMessageController 上没有文档...:(
    • @ArtWorkAD,我知道,这对于三个 20 的大多数人来说都是如此。您需要浏览源代码才能弄清楚。
    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 2018-07-04
    • 2019-04-08
    • 2015-01-19
    • 2011-03-26
    • 2013-12-26
    相关资源
    最近更新 更多