21703c60d8 | ||
---|---|---|
.github/workflows | ||
demo | ||
demo.xcodeproj | ||
doc | ||
media/image | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
Podfile | ||
README.md |
README.md
FinClip iOS DEMO
本项目提供在 iOS 环境中运行小程序的 DEMO 样例
🤔 FinClip 是什么?
有没有想过,开发好的微信小程序能放在自己的 APP 里直接运行,只需要开发一次小程序,就能在不同的应用中打开它,是不是很不可思议?
有没有试过,在自己的 APP 中引入一个 SDK ,应用中不仅可以打开小程序,还能自定义小程序接口,修改小程序样式,是不是觉得更不可思议?
这就是 FinClip ,就是有这么多不可思议!
⚙️ 操作步骤
第一步 修改 Podfile 文件,增加 FinApplet 依赖
source 'https://github.com/CocoaPods/Specs.git'
pod 'FinApplet'
第二步 完成SDK初始化
在工程的 AppDelegate
中的以下方法中,调用 SDK 的初始化方法。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 需要添加至App中的代码--start
NSMutableArray *storeArrayM = [NSMutableArray array];
FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
storeConfig.sdkKey = @"您的sdkKey信息";
storeConfig.sdkSecret = @"您的sdkSecret信息";
storeConfig.apiServer = @"服务器域名";
storeConfig.apmServer = @"apm统计事件的域名";
[storeArrayM addObject:storeConfig];
FATConfig *config = [FATConfig configWithStoreConfigs:storeArrayM];
[[FATClient sharedClient] initWithConfig:config error:nil];
// 需要添加至App中的代码--end
return YES;
}
第三步打开小程序
NSString *appId = @"小程序id";
// 打开小程序
[[FATClient sharedClient] startRemoteApplet:appId startParams:nil InParentViewController:self completion:^(BOOL result, NSError *error) {
NSLog(@"result:%d---error:%@", result, error);
}];
- SDK KEY 和 SDK SECRET 可以从 FinClip 获取,点 这里 注册账号;
- 进入平台后,在「应用管理」页面添加你自己的包名后,点击「复制」即可获得 key\secret\apisever 字段;
- apiServer 和 apiPrefix 是固定字段,请直接参考本 DEMO ;
- 小程序 ID 是管理后台上架的小程序 APP ID,需要在「小程序管理」中创建并在「应用管理」中关联;
小程序 ID 与 微信小程序ID 不一样哦!(这里是特指 FinClip 平台的 ID )
📋 集成文档
点击这里 查看 iOS 快速集成文档
📘 目录结构
.
├── LICENSE
├── Podfile 依赖的SDK配置文件
├── README.md
├── demo
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets 图片资源
│ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ ├── Common
│ │ ├── FINCustomMenuModel.h 自定义更多视图里的菜单对象
│ │ ├── FINCustomMenuModel.m 自定义更多视图里的菜单对象
│ │ ├── FINDemoClientHelper.h 小程序SDK的代理方法实现类
│ │ ├── FINDemoClientHelper.m 小程序SDK的代理方法实现类
│ │ ├── FINExtensionHelper.h 注入自定义api的实现类
│ │ └── FINExtensionHelper.m 注入自定义api的实现类
│ ├── Info.plist 工程配置
│ ├── MainViewController.h 首页
│ ├── MainViewController.m 首页
│ ├── Scan 扫码功能
│ │ ├── Controller
│ │ │ ├── FCQRCodeScanViewController.h
│ │ │ └── FCQRCodeScanViewController.m
│ │ └── View
│ │ ├── FCQRScanView.h
│ │ └── FCQRScanView.m
│ ├── demo.entitlements
│ ├── demo.plist demo工程小程序列表
│ ├── finosprite.plist finosprite工程小程序列表
│ ├── main.m
│ └── servers.plist 初始化SDK的服务器列表
├── demo.xcodeproj
📋 Demo功能介绍
微信登录
微信登录是通过自定义api注入login
来实现的,需要依赖微信开放SDK。
- 首先注册微信SDK的Key和universallink。
- 通过自定义api,注册
login
。可参考FINExtensionHelper
中 注册的login
的逻辑。
微信支付
微信支付也是通过自定义api注入requestPayment
来实现的,需要依赖微信开放SDK。
- 首先注册微信SDK的Key和universallink。
- 通过自定义api,注册
requestPayment
。可参考FINExtensionHelper
中 注册的requestPayment
的逻辑。
百度地图
小程序中的Map组件默认是使用系统的Map以及相关api来实现的。您也可以选择使用百度地图的Map组件。我们在Demo里已经添加了FinAppletBDMap
的依赖,它是我们基于百度地图做的扩展SDK。
如果要使用百度地图版本的Map组件,则只需要在初始化FinClip SDK成功后,调用[FATBDMapComponent setBDMapAppKey:@"申请的key"];
即可。
可参考AppDelegate
的application:didFinishLaunchingWithOptions:
方法里的注册百度地图。
高德地图
同理,如果选择使用高德地图的Map组件。我们在Demo里也已经添加了FinAppletGDMap
的依赖,它是我们基于高德地图做的扩展SDK。
如果要使用高德地图版本的Map组件,则只需要在初始化FinClip SDK成功后,调用[FATGDMapComponent setGDMapAppKey:@"申请的key"];
即可。
可参考AppDelegate
的application:didFinishLaunchingWithOptions:
方法里的注册高德地图。
🔗 常用链接
以下内容是您在 FinClip 进行开发与体验时,常见的问题与指引信息
☎️ 联系我们
微信扫描下面二维码,关注官方公众号 「凡泰极客」,获取更多精彩内容。
微信扫描下面二维码,加入官方微信交流群,获取更多精彩内容。