用自定义协议调用自己的程序

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

译自:“LaunchingYour Own Application via a Custom URL Scheme

 

iPhone SDK中最酷的功能之一是一个应用程序能够把自己和自定义的URL协议绑定,这个URL协议可用于启动该应用程序(通过浏览器或者iPhone上的另一个程序)。创建这样的绑定并不难,难的是你忍不住要在你的程序里用它!

首先,你需要说明你想如何在程序中响应这个URL。最简单的自定义协议的方法是“唤醒”,而且可以通过URL把信息传递给程序,这样,程序被唤醒后能做更多的事情。

注册自定义URL协议

首先需要向iPhone注册一个自定义URL协议。这是在你的项目文件夹的info.plist文件进行的(就是你改变应用程序图标的同一个文件)。

默认,Xcode在图形窗口中打开info.pllist,当然也可以直接用文本模式打开——对有的人来说这反而更简单。

Step1. 右键,选择“Add Row”

http://img.ph.126.net/0Iph-Hv_YPrI43zgkCotkw==/644859171660999084.png

Step2. Key值选择“URL types”

http://img.ph.126.net/9PtAWSrlCfLNZ5_W6Z_TnQ==/2651494280631266664.png

Step3. 打开“Item 1″,然后为该key增加一个URL identifier。可以是任何值,但建议用“反域名”(例如 “com.myapp”)。

http://img.ph.126.net/Rc90ogDPreD62FS2WYalvg==/2492460918789746022.png

Step4. 在“Item1”下再加一行。

http://img.ph.126.net/5EsyS1mPVhrFhctSYRU2dw==/2568459162501622413.png

Step5. 选择“URL Schemes” 作为Key。

http://img.ph.126.net/ba_lQpRIWvTcxfhB1FSJMg==/2723551874669194374.png

Step6. 输入你的URL协议名 (例如“myapp://” 应写做“myapp”)。如果有必要,你可以在这里加入多个协议。

http://img.ph.126.net/JaWpOJRaxAZdGwSM5ctwag==/2511601217206070303.png

注意:如果以文本模式打开info.plist,你会看到文件中添加了如下内容:

CFBundleURLTypes

 

    CFBundleURLSchemes

 

      myapp

 

    CFBundleURLName

    com.yourcompany.myapp

 

处理URL

现在,URL已经注册好了。任何人都可以用打开URL的方式通过你的协议去启动一个应用程序。

例如:

myapp://

 

myapp://some/path/here

 

myapp://?foo=1&bar=2

 

myapp://some/path/here?foo=1&bar=2

 

iOS SDK将向UIApplicationDelegate发送一条消息,启动和上述URL绑定的应用程序。

如果你想进行自定义处理,在你的delegate中实现该消息,例如:

 

- (BOOL)application:(UIApplication *)applicationhandleOpenURL:(NSURL*)url {   // Do something withthe url here }

通常,我们会从参数中解析出URL以便在视图中显示或者存储到UserPreference。下面的例子把URL存储为User Preference的url变量中:

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

    if (!url) {  return NO; }

 

    NSString *URLString = [urlabsoluteString];

    [[NSUserDefaultsstandardUserDefaults] setObject:URLString forKey:@"url"];

    [[NSUserDefaultsstandardUserDefaults] synchronize];

    return YES;

}

- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL *)url {     if (!url) {  returnNO; }      NSString *URLString= [urlabsoluteString];     [[NSUserDefaults standardUserDefaults] setObject:URLStringforKey:@"url"];     [[NSUserDefaults standardUserDefaults] synchronize];     return YES; }

 

现在,你已经知道如何唤醒你的程序并向其传递参数了。Enjoy!



           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MCGS (Micro Control Graphics System)是一种用于工业自动化控制的图形化编程软件,它支持添加自定义协议来与其他设备进行通讯。要添加自定义协议,首先需要在MCGS软件中创建一个新的通讯协议模块。在模块中,用户可以定义通讯协议的格式、数据类型、校验方式等参数。用户可以根据需要选择串口通讯、以太网通讯或者其他类型的通讯方式,并且可以定义协议的起始符和结束符等信息。在协议模块中,用户还可以编写数据处理的相关逻辑,比如数据的解析和封装等。 完成协议模块的创建后,用户需要在MCGS软件中进行通讯变量的配置。通过配置通讯变量,用户可以将数据在PLC或者其他设备上进行读写操作。用户需要指定通讯变量的地址、数据类型以及与协议模块进行关联。在进行通讯变量的配置时,用户可以直观地在MCGS软件中进行操作,省去了繁琐的编程过程。 最后,用户需要在MCGS软件中进行程序设计,并在程序中使用添加的自定义协议进行通讯。通过调用通讯变量并使用自定义协议,可以实现与其他设备的数据交换和通讯。用户可以在MCGS软件中根据具体的应用场景进行逻辑设计和功能实现,从而实现自定义协议的添加和使用。通过这种方式,MCGS软件可以更灵活地应用于不同的工业控制场景中,满足用户的个性化需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值