在开发iOS项目的时候,有时候需要用到两个项目之间的交互,就比如调用微信和支付宝支付,但是微信和支付宝封装的SDK已经做好了所有的工作,我们直接集成SDK调用就可以了,那么如果我们自己设计两个项目之间的交互怎么实现呢。
在开发之前先写一个dome,创建一个Project1,再创建一个Project2。
在Project1里面添加一个点击事件,点击事件里添加代码 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“openProject2”]]; //如果需要传递链接数据一般是这样写@“openProject2://......”
在Project2项目里,设置 Project2 -》 info -》 URL Types -》 URL Schemes 在URL Schemes 里面输入 openProject2(这个名称可以自定义,但必须保持两个项目统一) 运行两个项目,点击Project1的点击事件,就可以打开Project2项目了。
Project2项目有两种状态,一种是没有启动,一种是启动之后在后台运行。没有启动时会进
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{}方法,这个大家应该都知道,启动之后会进
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options{}方法,在这个方法里添加判断
if ([[url scheme] isEqualToString:@"openProject2"]) {
在这里面可以实现,打开应用之后需要进行的操作
NSString *urlStr = [url absoluteString];
urlStr就是接收到的完整链接,开发者可以用这个链接传递数据
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{} 这个方法iOS9 之后禁用,但是现在仍可以用,建议和上面的方法一起写入程序中。