讯飞集成
This commit is contained in:
pengguangjian 2024-10-18 16:45:34 +08:00
parent 5a64071a28
commit 40e1ef1ca5
126 changed files with 9768 additions and 53 deletions

View File

@ -67,6 +67,28 @@
CA11ED742CA69AC600209DFC /* GaiXieRunSeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA11ED732CA69AC600209DFC /* GaiXieRunSeViewController.m */; };
CA11ED782CA69B5200209DFC /* GaiXieRunSeView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA11ED772CA69B5200209DFC /* GaiXieRunSeView.m */; };
CA11ED7D2CA6B0DE00209DFC /* XieZuoFenXiangAlterView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA11ED7C2CA6B0DE00209DFC /* XieZuoFenXiangAlterView.m */; };
CA3868572CC1F66E009C98B0 /* LoginAppleView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA38684C2CC1F66E009C98B0 /* LoginAppleView.m */; };
CA3868582CC1F66E009C98B0 /* LoginTelView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA38684E2CC1F66E009C98B0 /* LoginTelView.m */; };
CA3868592CC1F66E009C98B0 /* LoginView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3868502CC1F66E009C98B0 /* LoginView.m */; };
CA38685A2CC1F66E009C98B0 /* LoginWXView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3868522CC1F66E009C98B0 /* LoginWXView.m */; };
CA38685B2CC1F66E009C98B0 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3868552CC1F66E009C98B0 /* LoginViewController.m */; };
CA38685F2CC1F7B7009C98B0 /* TTTAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA38685D2CC1F7B7009C98B0 /* TTTAttributedLabel.m */; };
CA3868632CC1F7C0009C98B0 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CA3868602CC1F7C0009C98B0 /* AlipaySDK.bundle */; };
CA3868642CC1F7C0009C98B0 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA3868612CC1F7C0009C98B0 /* AlipaySDK.framework */; };
CA3868662CC211E3009C98B0 /* pag_loading.pag in Resources */ = {isa = PBXBuildFile; fileRef = CA3868652CC211E3009C98B0 /* pag_loading.pag */; };
CA3868692CC211FE009C98B0 /* LoadAlterView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3868682CC211FE009C98B0 /* LoadAlterView.m */; };
CA38686B2CC23992009C98B0 /* iflyMSC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA38686A2CC23992009C98B0 /* iflyMSC.framework */; };
CA38686D2CC239BB009C98B0 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA38686C2CC239BB009C98B0 /* AddressBook.framework */; };
CA38686F2CC239C3009C98B0 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA38686E2CC239C3009C98B0 /* AudioToolbox.framework */; };
CA3868712CC239CB009C98B0 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA3868702CC239CB009C98B0 /* AVFoundation.framework */; };
CA3868732CC239D2009C98B0 /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA3868722CC239D2009C98B0 /* Contacts.framework */; };
CA3868752CC239DA009C98B0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA3868742CC239DA009C98B0 /* CoreGraphics.framework */; };
CA3868772CC239E3009C98B0 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA3868762CC239E3009C98B0 /* CoreLocation.framework */; };
CA3868792CC239EA009C98B0 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA3868782CC239EA009C98B0 /* CoreTelephony.framework */; };
CA38687B2CC239FA009C98B0 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = CA38687A2CC239FA009C98B0 /* libc++.tbd */; };
CA38687D2CC239FF009C98B0 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = CA38687C2CC239FF009C98B0 /* libz.tbd */; };
CA38687F2CC23A06009C98B0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA38687E2CC23A06009C98B0 /* QuartzCore.framework */; };
CA3868812CC23A0E009C98B0 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA3868802CC23A0E009C98B0 /* SystemConfiguration.framework */; };
CA4257852CA24E1100A36A10 /* StartPZXZDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA4257842CA24E1100A36A10 /* StartPZXZDetailViewController.m */; };
CA4257892CA24E8C00A36A10 /* StartPZXZDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA4257882CA24E8C00A36A10 /* StartPZXZDetailView.m */; };
CA42578D2CA262B300A36A10 /* StartZNPPTViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA42578C2CA262B300A36A10 /* StartZNPPTViewController.m */; };
@ -578,6 +600,35 @@
CA11ED772CA69B5200209DFC /* GaiXieRunSeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GaiXieRunSeView.m; sourceTree = "<group>"; };
CA11ED7B2CA6B0DE00209DFC /* XieZuoFenXiangAlterView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XieZuoFenXiangAlterView.h; sourceTree = "<group>"; };
CA11ED7C2CA6B0DE00209DFC /* XieZuoFenXiangAlterView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XieZuoFenXiangAlterView.m; sourceTree = "<group>"; };
CA38684B2CC1F66E009C98B0 /* LoginAppleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginAppleView.h; sourceTree = "<group>"; };
CA38684C2CC1F66E009C98B0 /* LoginAppleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginAppleView.m; sourceTree = "<group>"; };
CA38684D2CC1F66E009C98B0 /* LoginTelView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginTelView.h; sourceTree = "<group>"; };
CA38684E2CC1F66E009C98B0 /* LoginTelView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginTelView.m; sourceTree = "<group>"; };
CA38684F2CC1F66E009C98B0 /* LoginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginView.h; sourceTree = "<group>"; };
CA3868502CC1F66E009C98B0 /* LoginView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginView.m; sourceTree = "<group>"; };
CA3868512CC1F66E009C98B0 /* LoginWXView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginWXView.h; sourceTree = "<group>"; };
CA3868522CC1F66E009C98B0 /* LoginWXView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginWXView.m; sourceTree = "<group>"; };
CA3868542CC1F66E009C98B0 /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; };
CA3868552CC1F66E009C98B0 /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; };
CA38685C2CC1F7B7009C98B0 /* TTTAttributedLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TTTAttributedLabel.h; sourceTree = "<group>"; };
CA38685D2CC1F7B7009C98B0 /* TTTAttributedLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TTTAttributedLabel.m; sourceTree = "<group>"; };
CA3868602CC1F7C0009C98B0 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = "<group>"; };
CA3868612CC1F7C0009C98B0 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
CA3868652CC211E3009C98B0 /* pag_loading.pag */ = {isa = PBXFileReference; lastKnownFileType = file; path = pag_loading.pag; sourceTree = "<group>"; };
CA3868672CC211FE009C98B0 /* LoadAlterView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoadAlterView.h; sourceTree = "<group>"; };
CA3868682CC211FE009C98B0 /* LoadAlterView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoadAlterView.m; sourceTree = "<group>"; };
CA38686A2CC23992009C98B0 /* iflyMSC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = iflyMSC.framework; sourceTree = "<group>"; };
CA38686C2CC239BB009C98B0 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
CA38686E2CC239C3009C98B0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
CA3868702CC239CB009C98B0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
CA3868722CC239D2009C98B0 /* Contacts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Contacts.framework; path = System/Library/Frameworks/Contacts.framework; sourceTree = SDKROOT; };
CA3868742CC239DA009C98B0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
CA3868762CC239E3009C98B0 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
CA3868782CC239EA009C98B0 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
CA38687A2CC239FA009C98B0 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
CA38687C2CC239FF009C98B0 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
CA38687E2CC23A06009C98B0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
CA3868802CC23A0E009C98B0 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
CA4257832CA24E1100A36A10 /* StartPZXZDetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StartPZXZDetailViewController.h; sourceTree = "<group>"; };
CA4257842CA24E1100A36A10 /* StartPZXZDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StartPZXZDetailViewController.m; sourceTree = "<group>"; };
CA4257872CA24E8C00A36A10 /* StartPZXZDetailView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StartPZXZDetailView.h; sourceTree = "<group>"; };
@ -1358,11 +1409,24 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CA3868812CC23A0E009C98B0 /* SystemConfiguration.framework in Frameworks */,
CA38687F2CC23A06009C98B0 /* QuartzCore.framework in Frameworks */,
CA38687D2CC239FF009C98B0 /* libz.tbd in Frameworks */,
CA38687B2CC239FA009C98B0 /* libc++.tbd in Frameworks */,
CA3868792CC239EA009C98B0 /* CoreTelephony.framework in Frameworks */,
CA3868772CC239E3009C98B0 /* CoreLocation.framework in Frameworks */,
CA3868752CC239DA009C98B0 /* CoreGraphics.framework in Frameworks */,
CA3868732CC239D2009C98B0 /* Contacts.framework in Frameworks */,
CA3868712CC239CB009C98B0 /* AVFoundation.framework in Frameworks */,
CA38686F2CC239C3009C98B0 /* AudioToolbox.framework in Frameworks */,
CA38686D2CC239BB009C98B0 /* AddressBook.framework in Frameworks */,
CB489F862744A0BD00DA044A /* libssl.a in Frameworks */,
CB489F542744A0BD00DA044A /* libopencore-amrwb.a in Frameworks */,
CB489F552744A0BD00DA044A /* libopencore-amrnb.a in Frameworks */,
CB489F842744A0BD00DA044A /* libcrypto.a in Frameworks */,
664551746CA42328436EB43A /* Pods_ProductApp.framework in Frameworks */,
CA3868642CC1F7C0009C98B0 /* AlipaySDK.framework in Frameworks */,
CA38686B2CC23992009C98B0 /* iflyMSC.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1762,6 +1826,8 @@
CABD8CB12CBFB6CC009A5E5E /* PauseAlterView.m */,
CA5D036D2CC0DFCD007B3BA5 /* GuiZheAlterView.h */,
CA5D036E2CC0DFCD007B3BA5 /* GuiZheAlterView.m */,
CA3868672CC211FE009C98B0 /* LoadAlterView.h */,
CA3868682CC211FE009C98B0 /* LoadAlterView.m */,
);
path = alter;
sourceTree = "<group>";
@ -1817,6 +1883,49 @@
path = "写作分享";
sourceTree = "<group>";
};
CA3868532CC1F66E009C98B0 /* view */ = {
isa = PBXGroup;
children = (
CA38684B2CC1F66E009C98B0 /* LoginAppleView.h */,
CA38684C2CC1F66E009C98B0 /* LoginAppleView.m */,
CA38684D2CC1F66E009C98B0 /* LoginTelView.h */,
CA38684E2CC1F66E009C98B0 /* LoginTelView.m */,
CA38684F2CC1F66E009C98B0 /* LoginView.h */,
CA3868502CC1F66E009C98B0 /* LoginView.m */,
CA3868512CC1F66E009C98B0 /* LoginWXView.h */,
CA3868522CC1F66E009C98B0 /* LoginWXView.m */,
);
path = view;
sourceTree = "<group>";
};
CA3868562CC1F66E009C98B0 /* login */ = {
isa = PBXGroup;
children = (
CA3868532CC1F66E009C98B0 /* view */,
CA3868542CC1F66E009C98B0 /* LoginViewController.h */,
CA3868552CC1F66E009C98B0 /* LoginViewController.m */,
);
path = login;
sourceTree = "<group>";
};
CA38685E2CC1F7B7009C98B0 /* TTTAttributedLabel */ = {
isa = PBXGroup;
children = (
CA38685C2CC1F7B7009C98B0 /* TTTAttributedLabel.h */,
CA38685D2CC1F7B7009C98B0 /* TTTAttributedLabel.m */,
);
path = TTTAttributedLabel;
sourceTree = "<group>";
};
CA3868622CC1F7C0009C98B0 /* zfbSdk */ = {
isa = PBXGroup;
children = (
CA3868602CC1F7C0009C98B0 /* AlipaySDK.bundle */,
CA3868612CC1F7C0009C98B0 /* AlipaySDK.framework */,
);
path = zfbSdk;
sourceTree = "<group>";
};
CA4257822CA24DFB00A36A10 /* 文章 */ = {
isa = PBXGroup;
children = (
@ -2286,10 +2395,10 @@
children = (
CA5D034C2CC0DE8D007B3BA5 /* cell */,
CA5D03532CC0DE8D007B3BA5 /* view */,
CA5D03542CC0DE8D007B3BA5 /* YouHuiQuanListViewController.h */,
CA5D03552CC0DE8D007B3BA5 /* YouHuiQuanListViewController.m */,
CA5D03562CC0DE8D007B3BA5 /* YouHuiQuanViewController.h */,
CA5D03572CC0DE8D007B3BA5 /* YouHuiQuanViewController.m */,
CA5D03542CC0DE8D007B3BA5 /* YouHuiQuanListViewController.h */,
CA5D03552CC0DE8D007B3BA5 /* YouHuiQuanListViewController.m */,
);
path = "优惠券";
sourceTree = "<group>";
@ -3261,6 +3370,7 @@
CA487D942CA407F100AE773B /* D-DIN-PRO-700-Bold.otf */,
CA5D02B52CC0B69E007B3BA5 /* SmileySans-Oblique.ttf */,
CA5D036B2CC0DF9B007B3BA5 /* yq_animation.pag */,
CA3868652CC211E3009C98B0 /* pag_loading.pag */,
);
path = ProductApp;
sourceTree = "<group>";
@ -3405,6 +3515,9 @@
CB489E1A2744A0BC00DA044A /* BaseControl */ = {
isa = PBXGroup;
children = (
CA38686A2CC23992009C98B0 /* iflyMSC.framework */,
CA3868622CC1F7C0009C98B0 /* zfbSdk */,
CA38685E2CC1F7B7009C98B0 /* TTTAttributedLabel */,
CBD422B228DAF2E800C32440 /* JhtBannerScrollView */,
CB489E3D2744A0BC00DA044A /* TabBar */,
CB489E1B2744A0BC00DA044A /* Calendar */,
@ -3980,6 +4093,7 @@
children = (
CABA148A2C9D4302002CB3B1 /* NetWorkManager */,
CA11ED692CA6924800209DFC /* alter */,
CA3868562CC1F66E009C98B0 /* login */,
CABA146E2C9D0D3C002CB3B1 /* 引导 */,
CABA145E2C9D0B0D002CB3B1 /* 我的 */,
CABA145D2C9D0B06002CB3B1 /* 工具 */,
@ -4013,6 +4127,17 @@
F2AFD5F388A8B6D60B4992F6 /* Frameworks */ = {
isa = PBXGroup;
children = (
CA3868802CC23A0E009C98B0 /* SystemConfiguration.framework */,
CA38687E2CC23A06009C98B0 /* QuartzCore.framework */,
CA38687C2CC239FF009C98B0 /* libz.tbd */,
CA38687A2CC239FA009C98B0 /* libc++.tbd */,
CA3868782CC239EA009C98B0 /* CoreTelephony.framework */,
CA3868762CC239E3009C98B0 /* CoreLocation.framework */,
CA3868742CC239DA009C98B0 /* CoreGraphics.framework */,
CA3868722CC239D2009C98B0 /* Contacts.framework */,
CA3868702CC239CB009C98B0 /* AVFoundation.framework */,
CA38686E2CC239C3009C98B0 /* AudioToolbox.framework */,
CA38686C2CC239BB009C98B0 /* AddressBook.framework */,
E7E9D1598912BF8D031CA536 /* Pods_ProductApp.framework */,
CBD8C286299641ED00A2E09B /* ReplayKit.framework */,
CBD8C293299641ED00A2E09B /* UIKit.framework */,
@ -4087,6 +4212,7 @@
CA5D02B62CC0B69E007B3BA5 /* SmileySans-Oblique.ttf in Resources */,
CA5D031B2CC0DDF0007B3BA5 /* Pay_Public_QianWang@2x.png in Resources */,
CA5D03192CC0DDF0007B3BA5 /* Pay_Public_go@3x.png in Resources */,
CA3868632CC1F7C0009C98B0 /* AlipaySDK.bundle in Resources */,
CB489F9E2744A0BD00DA044A /* LogTableViewCell.xib in Resources */,
CABA14742C9D1165002CB3B1 /* qidong@3x.png in Resources */,
CA5D03172CC0DDF0007B3BA5 /* Pay_Public_支付宝.png in Resources */,
@ -4123,6 +4249,7 @@
CA5D031E2CC0DDF0007B3BA5 /* Pay_Public_SelectN@3x.png in Resources */,
CB489F872744A0BD00DA044A /* rsa_private_key.txt in Resources */,
CABA14D62C9D5059002CB3B1 /* pageconN.png in Resources */,
CA3868662CC211E3009C98B0 /* pag_loading.pag in Resources */,
CB489F7E2744A0BD00DA044A /* encry.txt in Resources */,
CB489FB92744A0BD00DA044A /* loading@2x.png in Resources */,
CB489F852744A0BD00DA044A /* LICENSE in Resources */,
@ -4241,6 +4368,7 @@
CBD422B128DAEDFC00C32440 /* UIImageView+PWebCache.m in Sources */,
CABA14852C9D2710002CB3B1 /* StartGNViewController.m in Sources */,
CA11ED5A2CA648AB00209DFC /* CamreTypeView.m in Sources */,
CA38685B2CC1F66E009C98B0 /* LoginViewController.m in Sources */,
CA0D083A2CA509D20086855E /* ShouYeToolsCollectionViewCell.m in Sources */,
CB489FB32744A0BD00DA044A /* THDatePickerView.m in Sources */,
CB489FB62744A0BD00DA044A /* NSDate+CXCategory.m in Sources */,
@ -4273,6 +4401,7 @@
CB489FA72744A0BD00DA044A /* ZJScrollPageView.m in Sources */,
CA5D03292CC0DDF0007B3BA5 /* PayPublicYouHuiLogVuew.m in Sources */,
CA5D02ED2CC0DD6B007B3BA5 /* PayOrderModel.m in Sources */,
CA3868582CC1F66E009C98B0 /* LoginTelView.m in Sources */,
CA5D03632CC0DE8D007B3BA5 /* YaoQingView.m in Sources */,
CA4257A62CA29FE700A36A10 /* StartZNPPTDaGangAlterLoadView.m in Sources */,
CA0C3A992CB4D4F500E01A72 /* ZhiNengXieZuoDuanLuoView.m in Sources */,
@ -4312,6 +4441,7 @@
CB489FB22744A0BD00DA044A /* FSActionSheetItem.m in Sources */,
CA0C3AA52CB4DED200E01A72 /* DuanLuoXieZuoCellView.m in Sources */,
CA4257AE2CA2AF3600A36A10 /* StartZNPPTYuLanTableViewCell.m in Sources */,
CA38685A2CC1F66E009C98B0 /* LoginWXView.m in Sources */,
CA0D08362CA501710086855E /* ShouYeToolsTableViewCell.m in Sources */,
CA6B97372CBD2102000213F3 /* AIChaAnswerTableViewCell.m in Sources */,
CB489F4B2744A0BD00DA044A /* PGGDatePickView.m in Sources */,
@ -4402,6 +4532,7 @@
CA8181B62C9ECB5800EE7E6E /* StartKTXZPGDetailFJItemView.m in Sources */,
CA0D08752CA555DE0086855E /* ShouYeLiShiJiLuPGTableViewCell.m in Sources */,
CA5D036F2CC0DFCD007B3BA5 /* GuiZheAlterView.m in Sources */,
CA38685F2CC1F7B7009C98B0 /* TTTAttributedLabel.m in Sources */,
CA8181A72C9EAB8700EE7E6E /* PGJUILabel.m in Sources */,
CA81818E2C9E60B100EE7E6E /* ViewLable.m in Sources */,
CB489FB42744A0BD00DA044A /* CXDatePickerView.m in Sources */,
@ -4432,11 +4563,13 @@
CB489F792744A0BD00DA044A /* UIApplication+Visible.m in Sources */,
CB489FD72744A30000DA044A /* PGGMoviePlayer.m in Sources */,
CA5D03692CC0DE8D007B3BA5 /* YouHuiQuanListViewController.m in Sources */,
CA3868592CC1F66E009C98B0 /* LoginView.m in Sources */,
CB489F982744A0BD00DA044A /* BaseModel.m in Sources */,
CA4257B92CA2C42E00A36A10 /* StartPayTQView.m in Sources */,
CAA600D52CA9579800026CF4 /* KeTangXieZuoCollectionViewCell.m in Sources */,
CB489F9B2744A0BD00DA044A /* YSAPIClient.m in Sources */,
CB489F822744A0BD00DA044A /* NSData+Base64.m in Sources */,
CA3868692CC211FE009C98B0 /* LoadAlterView.m in Sources */,
CB489FA62744A0BD00DA044A /* ZJScrollSegmentView.m in Sources */,
CA5D035D2CC0DE8D007B3BA5 /* TiXianViewController.m in Sources */,
CA0D08332CA4FFB90086855E /* ShouYeBannerTableViewCell.m in Sources */,
@ -4446,6 +4579,7 @@
CAF76E7F2CBE588900825E5E /* GongJuSearchListViewController.m in Sources */,
CA5D032A2CC0DDF0007B3BA5 /* PayPublicYouHuiView.m in Sources */,
CB489F812744A0BD00DA044A /* GTMBase64.m in Sources */,
CA3868572CC1F66E009C98B0 /* LoginAppleView.m in Sources */,
CAC806642CA151ED00C21AA7 /* StartZNXZSiLuViewController.m in Sources */,
CB489F962744A0BD00DA044A /* SmsloginCodeModel.m in Sources */,
CA0D08612CA547C60086855E /* ShouYeLiShiJiLuViewController.m in Sources */,
@ -4728,6 +4862,11 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = D5PBFE23SF;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/ProductApp/BaseControl/zfbSdk",
"$(PROJECT_DIR)/ProductApp/BaseControl",
);
GCC_PREFIX_HEADER = "$(SRCROOT)/ProductApp/PrefixHeader.pch";
GENERATE_INFOPLIST_FILE = YES;
HEADER_SEARCH_PATHS = (
@ -4752,6 +4891,10 @@
INFOPLIST_FILE = ProductApp/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "极光写作";
INFOPLIST_KEY_NSCameraUsageDescription = "极光写作意见反馈上传图片需要使用相机";
INFOPLIST_KEY_NSContactsUsageDescription = "极光写作AI助手聊天需要使用通讯录";
INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "极光写作AI助手聊天需要使用位置信息";
INFOPLIST_KEY_NSLocationUsageDescription = "极光写作AI助手聊天需要使用位置信息";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "极光写作AI助手聊天需要使用麦克风";
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "极光写作意见反馈上传图片需要使用相册";
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "极光写作分享保存图片需要保存图片到相册";
INFOPLIST_KEY_NSUserTrackingUsageDescription = "极光写作用于向您推荐个性化广告";
@ -4789,6 +4932,11 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = D5PBFE23SF;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/ProductApp/BaseControl/zfbSdk",
"$(PROJECT_DIR)/ProductApp/BaseControl",
);
GCC_PREFIX_HEADER = "$(SRCROOT)/ProductApp/PrefixHeader.pch";
GENERATE_INFOPLIST_FILE = YES;
HEADER_SEARCH_PATHS = (
@ -4813,6 +4961,10 @@
INFOPLIST_FILE = ProductApp/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "极光写作";
INFOPLIST_KEY_NSCameraUsageDescription = "极光写作意见反馈上传图片需要使用相机";
INFOPLIST_KEY_NSContactsUsageDescription = "极光写作AI助手聊天需要使用通讯录";
INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "极光写作AI助手聊天需要使用位置信息";
INFOPLIST_KEY_NSLocationUsageDescription = "极光写作AI助手聊天需要使用位置信息";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "极光写作AI助手聊天需要使用麦克风";
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "极光写作意见反馈上传图片需要使用相册";
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "极光写作分享保存图片需要保存图片到相册";
INFOPLIST_KEY_NSUserTrackingUsageDescription = "极光写作用于向您推荐个性化广告";

View File

@ -12,6 +12,12 @@
#import "TabBarController.h"
#import <GeYanSdk/GeYanSdk.h>
#import <GTSDK/GeTuiSdk.h>
#import <GTCommonSDK/GTCommonSDK.h>
#import "IFlyMSC/IFlyMSC.h"
@interface AppDelegate ()
@end
@ -39,6 +45,18 @@
[self.window makeKeyAndVisible];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self getTuiSheZhi:launchOptions];
});
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [paths objectAtIndex:0];
[IFlySetting setLogFilePath:cachePath];
NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@",XunFeiAppId];
[IFlySpeechUtility createUtility:initString];
///
#if defined(__IPHONE_13_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
if(@available(iOS 13.0,*)){
@ -58,4 +76,33 @@ self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}
-(void)getTuiSheZhi:(NSDictionary *)launchOptions
{
dispatch_async(dispatch_get_main_queue(), ^{
//8s5s;
[GeYanSdk setPreLoginTimeout:10]; //
[GeYanSdk setEloginTimeout:10]; //
// NSLog(@"pgj = %@",[GeYanSdk getVersion]);
//
[GeYanSdk startWithAppId:kGtAppId
withCallback:^(BOOL isSuccess, NSError *error, NSString *gtcid) {
NSLog(@"GeYanSdk startWithAppId gtcid:%@", gtcid);
}];
//便;
[GeYanSdk preGetToken:^(NSDictionary *preDic) {
NSLog(@"preGetToken:%@", preDic);
}];
// //
// // appId appKey appSecret SDK线
// [GeTuiSdk startSdkWithAppId:kGtAppId appKey:kGtAppKey appSecret:kGtAppSecret delegate:self launchingOptions:launchOptions];
//
// //
// [GeTuiSdk registerRemoteNotification: (UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge)];
//
});
}
@end

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "切图 5@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "切图 5@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "切图 4@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "切图 4@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器@2x(3).png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "容器@3x(3).png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "组 42544@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "组 42544@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "apple.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "apple (1).png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "image@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "image@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "logo@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "logo@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器@2x(4).png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "容器@3x(4).png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "容器@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器@2x(1).png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "容器@3x(1).png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器@2x(2).png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "容器@3x(2).png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "容器@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "组 43021@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "组 43021@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,681 @@
// TTTAttributedLabel.h
//
// Copyright (c) 2011 Mattt Thompson (http://mattt.me)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
#import <UIKit/UIKit.h>
#import <CoreText/CoreText.h>
//! Project version number for TTTAttributedLabel.
FOUNDATION_EXPORT double TTTAttributedLabelVersionNumber;
//! Project version string for TTTAttributedLabel.
FOUNDATION_EXPORT const unsigned char TTTAttributedLabelVersionString[];
@class TTTAttributedLabelLink;
/**
Vertical alignment for text in a label whose bounds are larger than its text bounds
*/
typedef NS_ENUM(NSInteger, TTTAttributedLabelVerticalAlignment) {
TTTAttributedLabelVerticalAlignmentCenter = 0,
TTTAttributedLabelVerticalAlignmentTop = 1,
TTTAttributedLabelVerticalAlignmentBottom = 2,
};
/**
Determines whether the text to which this attribute applies has a strikeout drawn through itself.
*/
extern NSString * const kTTTStrikeOutAttributeName;
/**
The background fill color. Value must be a `CGColorRef`. Default value is `nil` (no fill).
*/
extern NSString * const kTTTBackgroundFillColorAttributeName;
/**
The padding for the background fill. Value must be a `UIEdgeInsets`. Default value is `UIEdgeInsetsZero` (no padding).
*/
extern NSString * const kTTTBackgroundFillPaddingAttributeName;
/**
The background stroke color. Value must be a `CGColorRef`. Default value is `nil` (no stroke).
*/
extern NSString * const kTTTBackgroundStrokeColorAttributeName;
/**
The background stroke line width. Value must be an `NSNumber`. Default value is `1.0f`.
*/
extern NSString * const kTTTBackgroundLineWidthAttributeName;
/**
The background corner radius. Value must be an `NSNumber`. Default value is `5.0f`.
*/
extern NSString * const kTTTBackgroundCornerRadiusAttributeName;
@protocol TTTAttributedLabelDelegate;
// Override UILabel @property to accept both NSString and NSAttributedString
@protocol TTTAttributedLabel <NSObject>
@property (nonatomic, copy) IBInspectable id text;
@end
IB_DESIGNABLE
/**
`TTTAttributedLabel` is a drop-in replacement for `UILabel` that supports `NSAttributedString`, as well as automatically-detected and manually-added links to URLs, addresses, phone numbers, and dates.
## Differences Between `TTTAttributedLabel` and `UILabel`
For the most part, `TTTAttributedLabel` behaves just like `UILabel`. The following are notable exceptions, in which `TTTAttributedLabel` may act differently:
- `text` - This property now takes an `id` type argument, which can either be a kind of `NSString` or `NSAttributedString` (mutable or immutable in both cases)
- `attributedText` - Do not set this property directly. Instead, pass an `NSAttributedString` to `text`.
- `lineBreakMode` - This property displays only the first line when the value is `UILineBreakModeHeadTruncation`, `UILineBreakModeTailTruncation`, or `UILineBreakModeMiddleTruncation`
- `adjustsFontsizeToFitWidth` - Supported in iOS 5 and greater, this property is effective for any value of `numberOfLines` greater than zero. In iOS 4, setting `numberOfLines` to a value greater than 1 with `adjustsFontSizeToFitWidth` set to `YES` may cause `sizeToFit` to execute indefinitely.
- `baselineAdjustment` - This property has no affect.
- `textAlignment` - This property does not support justified alignment.
- `NSTextAttachment` - This string attribute is not supported.
Any properties affecting text or paragraph styling, such as `firstLineIndent` will only apply when text is set with an `NSString`. If the text is set with an `NSAttributedString`, these properties will not apply.
### NSCoding
`TTTAttributedLabel`, like `UILabel`, conforms to `NSCoding`. However, if the build target is set to less than iOS 6.0, `linkAttributes` and `activeLinkAttributes` will not be encoded or decoded. This is due to an runtime exception thrown when attempting to copy non-object CoreText values in dictionaries.
@warning Any properties changed on the label after setting the text will not be reflected until a subsequent call to `setText:` or `setText:afterInheritingLabelAttributesAndConfiguringWithBlock:`. This is to say, order of operations matters in this case. For example, if the label text color is originally black when the text is set, changing the text color to red will have no effect on the display of the label until the text is set once again.
@bug Setting `attributedText` directly is not recommended, as it may cause a crash when attempting to access any links previously set. Instead, call `setText:`, passing an `NSAttributedString`.
*/
@interface TTTAttributedLabel : UILabel <TTTAttributedLabel, UIGestureRecognizerDelegate>
/**
* The designated initializers are @c initWithFrame: and @c initWithCoder:.
* init will not properly initialize many required properties and other configuration.
*/
- (instancetype) init NS_UNAVAILABLE;
///-----------------------------
/// @name Accessing the Delegate
///-----------------------------
/**
The receiver's delegate.
@discussion A `TTTAttributedLabel` delegate responds to messages sent by tapping on links in the label. You can use the delegate to respond to links referencing a URL, address, phone number, date, or date with a specified time zone and duration.
*/
@property (nonatomic, unsafe_unretained) IBOutlet id <TTTAttributedLabelDelegate> delegate;
///--------------------------------------------
/// @name Detecting, Accessing, & Styling Links
///--------------------------------------------
/**
A bitmask of `NSTextCheckingType` which are used to automatically detect links in the label text.
@warning You must specify `enabledTextCheckingTypes` before setting the `text`, with either `setText:` or `setText:afterInheritingLabelAttributesAndConfiguringWithBlock:`.
*/
@property (nonatomic, assign) NSTextCheckingTypes enabledTextCheckingTypes;
/**
An array of `NSTextCheckingResult` objects for links detected or manually added to the label text.
*/
@property (readonly, nonatomic, strong) NSArray *links;
/**
A dictionary containing the default `NSAttributedString` attributes to be applied to links detected or manually added to the label text. The default link style is blue and underlined.
@warning You must specify `linkAttributes` before setting autodecting or manually-adding links for these attributes to be applied.
*/
@property (nonatomic, strong) NSDictionary *linkAttributes;
/**
A dictionary containing the default `NSAttributedString` attributes to be applied to links when they are in the active state. If `nil` or an empty `NSDictionary`, active links will not be styled. The default active link style is red and underlined.
*/
@property (nonatomic, strong) NSDictionary *activeLinkAttributes;
/**
A dictionary containing the default `NSAttributedString` attributes to be applied to links when they are in the inactive state, which is triggered by a change in `tintColor` in iOS 7 and later. If `nil` or an empty `NSDictionary`, inactive links will not be styled. The default inactive link style is gray and unadorned.
*/
@property (nonatomic, strong) NSDictionary *inactiveLinkAttributes;
/**
The edge inset for the background of a link. The default value is `{0, -1, 0, -1}`.
*/
@property (nonatomic, assign) UIEdgeInsets linkBackgroundEdgeInset;
/**
Indicates if links will be detected within an extended area around the touch
to emulate the link detection behaviour of WKWebView.
Default value is NO. Enabling this may adversely impact performance.
*/
@property (nonatomic, assign) BOOL extendsLinkTouchArea;
///---------------------------------------
/// @name Acccessing Text Style Attributes
///---------------------------------------
/**
The shadow blur radius for the label. A value of 0 indicates no blur, while larger values produce correspondingly larger blurring. This value must not be negative. The default value is 0.
*/
@property (nonatomic, assign) IBInspectable CGFloat shadowRadius;
/**
The shadow blur radius for the label when the label's `highlighted` property is `YES`. A value of 0 indicates no blur, while larger values produce correspondingly larger blurring. This value must not be negative. The default value is 0.
*/
@property (nonatomic, assign) IBInspectable CGFloat highlightedShadowRadius;
/**
The shadow offset for the label when the label's `highlighted` property is `YES`. A size of {0, 0} indicates no offset, with positive values extending down and to the right. The default size is {0, 0}.
*/
@property (nonatomic, assign) IBInspectable CGSize highlightedShadowOffset;
/**
The shadow color for the label when the label's `highlighted` property is `YES`. The default value is `nil` (no shadow color).
*/
@property (nonatomic, strong) IBInspectable UIColor *highlightedShadowColor;
/**
The amount to kern the next character. Default is standard kerning. If this attribute is set to 0.0, no kerning is done at all.
*/
@property (nonatomic, assign) IBInspectable CGFloat kern;
///--------------------------------------------
/// @name Acccessing Paragraph Style Attributes
///--------------------------------------------
/**
The distance, in points, from the leading margin of a frame to the beginning of the
paragraph's first line. This value is always nonnegative, and is 0.0 by default.
This applies to the full text, rather than any specific paragraph metrics.
*/
@property (nonatomic, assign) IBInspectable CGFloat firstLineIndent;
/**
The space in points added between lines within the paragraph. This value is always nonnegative and is 0.0 by default.
*/
@property (nonatomic, assign) IBInspectable CGFloat lineSpacing;
/**
The minimum line height within the paragraph. If the value is 0.0, the minimum line height is set to the line height of the `font`. 0.0 by default.
*/
@property (nonatomic, assign) IBInspectable CGFloat minimumLineHeight;
/**
The maximum line height within the paragraph. If the value is 0.0, the maximum line height is set to the line height of the `font`. 0.0 by default.
*/
@property (nonatomic, assign) IBInspectable CGFloat maximumLineHeight;
/**
The line height multiple. This value is 1.0 by default.
*/
@property (nonatomic, assign) IBInspectable CGFloat lineHeightMultiple;
/**
The distance, in points, from the margin to the text container. This value is `UIEdgeInsetsZero` by default.
sizeThatFits: will have its returned size increased by these margins.
drawTextInRect: will inset all drawn text by these margins.
*/
@property (nonatomic, assign) IBInspectable UIEdgeInsets textInsets;
/**
The vertical text alignment for the label, for when the frame size is greater than the text rect size. The vertical alignment is `TTTAttributedLabelVerticalAlignmentCenter` by default.
*/
@property (nonatomic, assign) TTTAttributedLabelVerticalAlignment verticalAlignment;
///--------------------------------------------
/// @name Accessing Truncation Token Appearance
///--------------------------------------------
/**
The attributed string to apply to the truncation token at the end of a truncated line.
*/
@property (nonatomic, strong) IBInspectable NSAttributedString *attributedTruncationToken;
///--------------------------
/// @name Long press gestures
///--------------------------
/**
* The long-press gesture recognizer used internally by the label.
*/
@property (nonatomic, strong, readonly) UILongPressGestureRecognizer *longPressGestureRecognizer;
///--------------------------------------------
/// @name Calculating Size of Attributed String
///--------------------------------------------
/**
Calculate and return the size that best fits an attributed string, given the specified constraints on size and number of lines.
@param attributedString The attributed string.
@param size The maximum dimensions used to calculate size.
@param numberOfLines The maximum number of lines in the text to draw, if the constraining size cannot accomodate the full attributed string.
@return The size that fits the attributed string within the specified constraints.
*/
+ (CGSize)sizeThatFitsAttributedString:(NSAttributedString *)attributedString
withConstraints:(CGSize)size
limitedToNumberOfLines:(NSUInteger)numberOfLines;
///----------------------------------
/// @name Setting the Text Attributes
///----------------------------------
/**
Sets the text displayed by the label.
@param text An `NSString` or `NSAttributedString` object to be displayed by the label. If the specified text is an `NSString`, the label will display the text like a `UILabel`, inheriting the text styles of the label. If the specified text is an `NSAttributedString`, the label text styles will be overridden by the styles specified in the attributed string.
@discussion This method overrides `UILabel -setText:` to accept both `NSString` and `NSAttributedString` objects. This string is `nil` by default.
*/
- (void)setText:(id)text;
/**
Sets the text displayed by the label, after configuring an attributed string containing the text attributes inherited from the label in a block.
@param text An `NSString` or `NSAttributedString` object to be displayed by the label.
@param block A block object that returns an `NSMutableAttributedString` object and takes a single argument, which is an `NSMutableAttributedString` object with the text from the first parameter, and the text attributes inherited from the label text styles. For example, if you specified the `font` of the label to be `[UIFont boldSystemFontOfSize:14]` and `textColor` to be `[UIColor redColor]`, the `NSAttributedString` argument of the block would be contain the `NSAttributedString` attribute equivalents of those properties. In this block, you can set further attributes on particular ranges.
@discussion This string is `nil` by default.
*/
- (void)setText:(id)text
afterInheritingLabelAttributesAndConfiguringWithBlock:(NSMutableAttributedString *(^)(NSMutableAttributedString *mutableAttributedString))block;
///------------------------------------
/// @name Accessing the Text Attributes
///------------------------------------
/**
A copy of the label's current attributedText. This returns `nil` if an attributed string has never been set on the label.
@warning Do not set this property directly. Instead, set @c text to an @c NSAttributedString.
*/
@property (readwrite, nonatomic, copy) NSAttributedString *attributedText;
///-------------------
/// @name Adding Links
///-------------------
/**
Adds a link. You can customize an individual link's appearance and accessibility value by creating your own @c TTTAttributedLabelLink and passing it to this method. The other methods for adding links will use the label's default attributes.
@warning Modifying the link's attribute dictionaries must be done before calling this method.
@param link A @c TTTAttributedLabelLink object.
*/
- (void)addLink:(TTTAttributedLabelLink *)link;
/**
Adds a link to an @c NSTextCheckingResult.
@param result An @c NSTextCheckingResult representing the link's location and type.
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkWithTextCheckingResult:(NSTextCheckingResult *)result;
/**
Adds a link to an @c NSTextCheckingResult.
@param result An @c NSTextCheckingResult representing the link's location and type.
@param attributes The attributes to be added to the text in the range of the specified link. If set, the label's @c activeAttributes and @c inactiveAttributes will be applied to the link. If `nil`, no attributes are added to the link.
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkWithTextCheckingResult:(NSTextCheckingResult *)result
attributes:(NSDictionary *)attributes;
/**
Adds a link to a URL for a specified range in the label text.
@param url The url to be linked to
@param range The range in the label text of the link. The range must not exceed the bounds of the receiver.
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkToURL:(NSURL *)url
withRange:(NSRange)range;
/**
Adds a link to an address for a specified range in the label text.
@param addressComponents A dictionary of address components for the address to be linked to
@param range The range in the label text of the link. The range must not exceed the bounds of the receiver.
@discussion The address component dictionary keys are described in `NSTextCheckingResult`'s "Keys for Address Components."
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkToAddress:(NSDictionary *)addressComponents
withRange:(NSRange)range;
/**
Adds a link to a phone number for a specified range in the label text.
@param phoneNumber The phone number to be linked to.
@param range The range in the label text of the link. The range must not exceed the bounds of the receiver.
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkToPhoneNumber:(NSString *)phoneNumber
withRange:(NSRange)range;
/**
Adds a link to a date for a specified range in the label text.
@param date The date to be linked to.
@param range The range in the label text of the link. The range must not exceed the bounds of the receiver.
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkToDate:(NSDate *)date
withRange:(NSRange)range;
/**
Adds a link to a date with a particular time zone and duration for a specified range in the label text.
@param date The date to be linked to.
@param timeZone The time zone of the specified date.
@param duration The duration, in seconds from the specified date.
@param range The range in the label text of the link. The range must not exceed the bounds of the receiver.
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkToDate:(NSDate *)date
timeZone:(NSTimeZone *)timeZone
duration:(NSTimeInterval)duration
withRange:(NSRange)range;
/**
Adds a link to transit information for a specified range in the label text.
@param components A dictionary containing the transit components. The currently supported keys are `NSTextCheckingAirlineKey` and `NSTextCheckingFlightKey`.
@param range The range in the label text of the link. The range must not exceed the bounds of the receiver.
@return The newly added link object.
*/
- (TTTAttributedLabelLink *)addLinkToTransitInformation:(NSDictionary *)components
withRange:(NSRange)range;
/**
Returns whether an @c NSTextCheckingResult is found at the give point.
@discussion This can be used together with @c UITapGestureRecognizer to tap interactions with overlapping views.
@param point The point inside the label.
*/
- (BOOL)containslinkAtPoint:(CGPoint)point;
/**
Returns the @c TTTAttributedLabelLink at the give point if it exists.
@discussion This can be used together with @c UIViewControllerPreviewingDelegate to peek into links.
@param point The point inside the label.
*/
- (TTTAttributedLabelLink *)linkAtPoint:(CGPoint)point;
@end
/**
The `TTTAttributedLabelDelegate` protocol defines the messages sent to an attributed label delegate when links are tapped. All of the methods of this protocol are optional.
*/
@protocol TTTAttributedLabelDelegate <NSObject>
///-----------------------------------
/// @name Responding to Link Selection
///-----------------------------------
@optional
/**
Tells the delegate that the user did select a link to a URL.
@param label The label whose link was selected.
@param url The URL for the selected link.
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithURL:(NSURL *)url;
/**
Tells the delegate that the user did select a link to an address.
@param label The label whose link was selected.
@param addressComponents The components of the address for the selected link.
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithAddress:(NSDictionary *)addressComponents;
/**
Tells the delegate that the user did select a link to a phone number.
@param label The label whose link was selected.
@param phoneNumber The phone number for the selected link.
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithPhoneNumber:(NSString *)phoneNumber;
/**
Tells the delegate that the user did select a link to a date.
@param label The label whose link was selected.
@param date The datefor the selected link.
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithDate:(NSDate *)date;
/**
Tells the delegate that the user did select a link to a date with a time zone and duration.
@param label The label whose link was selected.
@param date The date for the selected link.
@param timeZone The time zone of the date for the selected link.
@param duration The duration, in seconds from the date for the selected link.
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithDate:(NSDate *)date
timeZone:(NSTimeZone *)timeZone
duration:(NSTimeInterval)duration;
/**
Tells the delegate that the user did select a link to transit information
@param label The label whose link was selected.
@param components A dictionary containing the transit components. The currently supported keys are `NSTextCheckingAirlineKey` and `NSTextCheckingFlightKey`.
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithTransitInformation:(NSDictionary *)components;
/**
Tells the delegate that the user did select a link to a text checking result.
@discussion This method is called if no other delegate method was called, which can occur by either now implementing the method in `TTTAttributedLabelDelegate` corresponding to a particular link, or the link was added by passing an instance of a custom `NSTextCheckingResult` subclass into `-addLinkWithTextCheckingResult:`.
@param label The label whose link was selected.
@param result The custom text checking result.
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithTextCheckingResult:(NSTextCheckingResult *)result;
///---------------------------------
/// @name Responding to Long Presses
///---------------------------------
/**
* Long-press delegate methods include the CGPoint tapped within the label's coordinate space.
* This may be useful on iPad to present a popover from a specific origin point.
*/
/**
Tells the delegate that the user long-pressed a link to a URL.
@param label The label whose link was long pressed.
@param url The URL for the link.
@param point the point pressed, in the label's coordinate space
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didLongPressLinkWithURL:(NSURL *)url
atPoint:(CGPoint)point;
/**
Tells the delegate that the user long-pressed a link to an address.
@param label The label whose link was long pressed.
@param addressComponents The components of the address for the link.
@param point the point pressed, in the label's coordinate space
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didLongPressLinkWithAddress:(NSDictionary *)addressComponents
atPoint:(CGPoint)point;
/**
Tells the delegate that the user long-pressed a link to a phone number.
@param label The label whose link was long pressed.
@param phoneNumber The phone number for the link.
@param point the point pressed, in the label's coordinate space
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didLongPressLinkWithPhoneNumber:(NSString *)phoneNumber
atPoint:(CGPoint)point;
/**
Tells the delegate that the user long-pressed a link to a date.
@param label The label whose link was long pressed.
@param date The date for the selected link.
@param point the point pressed, in the label's coordinate space
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didLongPressLinkWithDate:(NSDate *)date
atPoint:(CGPoint)point;
/**
Tells the delegate that the user long-pressed a link to a date with a time zone and duration.
@param label The label whose link was long pressed.
@param date The date for the link.
@param timeZone The time zone of the date for the link.
@param duration The duration, in seconds from the date for the link.
@param point the point pressed, in the label's coordinate space
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didLongPressLinkWithDate:(NSDate *)date
timeZone:(NSTimeZone *)timeZone
duration:(NSTimeInterval)duration
atPoint:(CGPoint)point;
/**
Tells the delegate that the user long-pressed a link to transit information.
@param label The label whose link was long pressed.
@param components A dictionary containing the transit components. The currently supported keys are `NSTextCheckingAirlineKey` and `NSTextCheckingFlightKey`.
@param point the point pressed, in the label's coordinate space
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didLongPressLinkWithTransitInformation:(NSDictionary *)components
atPoint:(CGPoint)point;
/**
Tells the delegate that the user long-pressed a link to a text checking result.
@discussion Similar to `-attributedLabel:didSelectLinkWithTextCheckingResult:`, this method is called if a link is long pressed and the delegate does not implement the method corresponding to this type of link.
@param label The label whose link was long pressed.
@param result The custom text checking result.
@param point the point pressed, in the label's coordinate space
*/
- (void)attributedLabel:(TTTAttributedLabel *)label
didLongPressLinkWithTextCheckingResult:(NSTextCheckingResult *)result
atPoint:(CGPoint)point;
@end
@interface TTTAttributedLabelLink : NSObject <NSCoding>
typedef void (^TTTAttributedLabelLinkBlock) (TTTAttributedLabel *, TTTAttributedLabelLink *);
/**
An `NSTextCheckingResult` representing the link's location and type.
*/
@property (readonly, nonatomic, strong) NSTextCheckingResult *result;
/**
A dictionary containing the @c NSAttributedString attributes to be applied to the link.
*/
@property (readonly, nonatomic, copy) NSDictionary *attributes;
/**
A dictionary containing the @c NSAttributedString attributes to be applied to the link when it is in the active state.
*/
@property (readonly, nonatomic, copy) NSDictionary *activeAttributes;
/**
A dictionary containing the @c NSAttributedString attributes to be applied to the link when it is in the inactive state, which is triggered by a change in `tintColor` in iOS 7 and later.
*/
@property (readonly, nonatomic, copy) NSDictionary *inactiveAttributes;
/**
Additional information about a link for VoiceOver users. Has default values if the link's @c result is @c NSTextCheckingTypeLink, @c NSTextCheckingTypePhoneNumber, or @c NSTextCheckingTypeDate.
*/
@property (nonatomic, copy) NSString *accessibilityValue;
/**
A block called when this link is tapped.
If non-nil, tapping on this link will call this block instead of the
@c TTTAttributedLabelDelegate tap methods, which will not be called for this link.
*/
@property (nonatomic, copy) TTTAttributedLabelLinkBlock linkTapBlock;
/**
A block called when this link is long-pressed.
If non-nil, long pressing on this link will call this block instead of the
@c TTTAttributedLabelDelegate long press methods, which will not be called for this link.
*/
@property (nonatomic, copy) TTTAttributedLabelLinkBlock linkLongPressBlock;
/**
Initializes a link using the attribute dictionaries specified.
@param attributes The @c attributes property for the link.
@param activeAttributes The @c activeAttributes property for the link.
@param inactiveAttributes The @c inactiveAttributes property for the link.
@param result An @c NSTextCheckingResult representing the link's location and type.
@return The initialized link object.
*/
- (instancetype)initWithAttributes:(NSDictionary *)attributes
activeAttributes:(NSDictionary *)activeAttributes
inactiveAttributes:(NSDictionary *)inactiveAttributes
textCheckingResult:(NSTextCheckingResult *)result;
/**
Initializes a link using the attribute dictionaries set on a specified label.
@param label The attributed label from which to inherit attribute dictionaries.
@param result An @c NSTextCheckingResult representing the link's location and type.
@return The initialized link object.
*/
- (instancetype)initWithAttributesFromLabel:(TTTAttributedLabel*)label
textCheckingResult:(NSTextCheckingResult *)result;
@end

File diff suppressed because it is too large Load Diff

View File

@ -50,6 +50,9 @@ NS_ASSUME_NONNULL_BEGIN
///1学生 2家长 3老师
@property (nonatomic , strong) NSString *shenfen;
///余额
@property (nonatomic , strong) NSString *balance;
+(void)setLoingState:(NSString *)value;
+(void)setToken:(NSString *)value;
+(void)setName:(NSString *)value;

View File

@ -0,0 +1,35 @@
//
// IFlyAudioSession.h
// MSCDemo
//
// Created by AlexHHC on 1/9/14.
//
//
#import <Foundation/Foundation.h>
/**
* AVAudioSession的Category属性
*/
@interface IFlyAudioSession : NSObject
/**
*
*
* AVAudioSession的Category属性值<br>
* Category属性值为AVAudioSessionCategoryPlayAndRecordAVAudioSessionCategoryOptionDefaultToSpeakerAVAudioSessionCategoryOptionAllowBluetooth选项Category属性值且isMPCenter为NOCategory属性值为AVAudioSessionCategoryPlaybackAVAudioSessionCategoryOptionMixWithOthersCategory属性值且isMPCenter为YES
*
* @param isMPCenter MPPlayerCenter01AVAudioSession的Category属性值不为AVAudioSessionCategoryPlayAndRecord时设置有效
*/
+(void) initPlayingAudioSession:(BOOL)isMPCenter;
/**
* ,
*
* AVAudioSession的Category属性值为AVAudioSessionCategoryPlayAndRecordAVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth
*
* @return YESNO
*/
+(BOOL) initRecordingAudioSession;
@end

View File

@ -0,0 +1,24 @@
//
// IFlyContact.h
// msc
//
// Created by ypzhao on 13-3-1.
// Copyright (c) 2013年 IFLYTEK. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
* <br>
* (sms),
*/
@interface IFlyContact : NSObject
/*!
* <br>
* AddressBook.framework Contacts.framework到工程中IFlyDataUploader类
*
* @return
*/
- (NSString *) contact;
@end

View File

@ -0,0 +1,54 @@
//
// IFlyDataUploader.h
// MSC
//
// Created by ypzhao on 13-4-8.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
/*!
*
*/
@interface IFlyDataUploader : NSObject
/*!
*
*/
@property(nonatomic,copy) NSString *dataName;
/*!
*
*/
@property(nonatomic,copy) NSString *data;
/*!
*
*
* @param result
* @param error
*/
typedef void(^IFlyUploadDataCompletionHandler)(NSString* result,IFlySpeechError * error);
/*!
*
* ****
*
* @param completionHandler -[in]
* @param name -[in] ,nil
* @param data -[in] utf8编码,nil
*/
- (void) uploadDataWithCompletionHandler:(IFlyUploadDataCompletionHandler)completionHandler name:(NSString *)name data:(NSString *)data;
/*!
*
*
* @param parameter
* @param key
*/
-(void) setParameter:(NSString*) parameter forKey:(NSString*) key;
@end

View File

@ -0,0 +1,37 @@
//
// IFlyDebugLog.h
// MSC
// description: 程序中的log处理类
// Created by ypzhao on 12-11-22.
// Copyright (c) 2012年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
*
*/
@interface IFlyDebugLog : NSObject
/*!
*
*
* @param format -[in]
* @param ... -[in]
*/
+ (void) showLog:(NSString *)format, ...;
/*!
* log写入文件中
*/
+ (void) writeLog;
/*!
* log
*
* @param showLog YES:NO:
*/
+ (void) setShowLog:(BOOL) showLog;
@end

View File

@ -0,0 +1,48 @@
//
// IFlyISVDelegate.h
// msc_UI
//
// Created by admin on 14-9-15.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
/*!
*
*/
@protocol IFlyISVDelegate
/*!
*
*
* @param dic
*/
-(void) onResult:(NSDictionary *)dic;
/*!
*
*
* @param errorCode
*/
-(void) onCompleted:(IFlySpeechError *) errorCode;
@optional
/*!
*
*/
-(void) onRecognition;
/*!
*
*
* @param volume
*/
-(void) onVolumeChanged: (int)volume;
@end

View File

@ -0,0 +1,132 @@
//
// IFlyISVRecognizer.h
// ISV
//
// Created by wangdan on 14-9-6.
// Copyright (c) 2014年 IFlyTEK. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlyISVDelegate.h"
/**
*
*/
@interface IFlyISVRecognizer : NSObject
{
}
/*!
* The delegate of FlyISVRecognizer responsing to IFlyISVDelegate.
*/
@property (assign) id<IFlyISVDelegate> delegate;
/*!
* FlyISVRecognizer is a kind of Singleton calss.The function can be used as below:<br>
* IFLyISVRecognizer *recognizer=[IFlyISVRecognizer creteRecognizer: self];
*/
+(instancetype) sharedInstance;
/*!
* Genrerate a serial number password<br>
* Princeple:<br>
* 1.Number serial has no 1 in itself;<br>
* 2.The nuber serial has no same number("98765432"is right while "99876543" is wrong)
*
* @param length the serial number's length,length of "98765432" is 8,generally length is 8 and other value is forbidden
*/
-(NSString*) generatePassword:(int)length;
/*!
* Used to get password from server
*
* @param pwdt when pwdt is 1,the function will return chinese text;while pwdt is 2, the funciton will return number serial
*/
-(NSArray*) getPasswordList:(int)pwdt;
/*!
* Used to judge if the engine is running in listenning
*
* @return YES: the engine is listenning;<br>No : the engine is not listenning
*/
-(BOOL) isListening;
/*!
* Used to query or delete the voiceprint model in server
*
* @param cmd "del": delete model;<br>"que": query model;
* @param authid: user id ,can be @"tianxia" or other;
* @param pwdt voiceprint type<br>
* 1: fixed txt voiceprint code ,like @"我的地盘我做主";<br>
* 2: free voiceprint code , user can speek anything,but 5 times trainning the speech shall be same;<br>
* 3: number serial voiceprint code ,like @"98765432" and so on.
* @param ptxt voiceprint txt,only fixed voiceprint and number serial have this,in free voiceprint model this param shall be set nil.
* @param vid another voiceprint type model,user can use this to query or delete model in server can be @"jakillasdfasdjjjlajlsdfhdfdsadff",totally 32 bits;<br>
* NOTES:<br>
* when vid is not nil,then the server will judge the vid first; while the vid is nil, server can still query or delete the voiceprint model by other params.
*/
-(BOOL) sendRequest:(NSString*)cmd authid:(NSString *)auth_id pwdt:(int)pwdt ptxt:(NSString *)ptxt vid:(NSString *)vid err:(int *)err;
/*!
* Set the voiceprint params
*
* | key | value |
* |:---------------:|:-------------------------------------------------:|
* | sst | @"train" or @"verify" |
* | auth_id | @"tianxia" or other |
* | sub | @"ivp" |
* | ptxt | |
* | rgn | @"5" |
* | pwdt | @"1",or @"2", or @"3" |
* | auf | @"audio/L16;rate=16000" or @"audio/L16;rate=8000" |
* | vad_enable | @"1" or @"0" |
* | vad_timeout | @"3000" |
* | vad_speech_tail | @"100" |
*
* @param value
* @param key
*
* @return YESNO
*/
-(BOOL) setParameter:(NSString *)value forKey:(NSString *)key;
/*!
* Get the voiceprint params used the same as function of setParameter
*/
-(NSString*) getParameter:(NSString *)key;
/*!
* Start recording
*/
-(void) startListening;
/*!
* Stop recording
*/
-(void) stopListening;
/*!
* Cancel recording,like function stopListening
*/
-(void) cancel; /* cancel recognization */
@end

View File

@ -0,0 +1,37 @@
//
// IFlyIdentityResult.h
// IFlyMSC
//
// Created by 张剑 on 15/5/14.
// Copyright (c) 2015年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
/**
*
*/
@interface IFlyIdentityResult : NSObject
/**
* json字符串格式结果
*/
@property(nonatomic,retain)NSString* result;
/**
*
*
* @param jsonString json字符串
*
* @return
*/
+(instancetype)identityResultWithString:(NSString*)jsonString;
/**
*
*
* @return
*/
-(NSDictionary*)dictionaryResults;
@end

View File

@ -0,0 +1,176 @@
//
// IFlyIdentityVerifier.h
// IFlyMSC
//
// Created by 张剑 on 15/4/22.
// Copyright (c) 2015年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlyIdentityVerifierDelegate.h"
/**
*
*/
@interface IFlyIdentityVerifier : NSObject
/*!
*
*/
@property (nonatomic, assign) id <IFlyIdentityVerifierDelegate> delegate;
/**
*
*
* @return
*/
+ (instancetype) sharedInstance;
/**
*
*
* @return YESNO
*/
+ (void)purgeSharedInstance;
/**
*
*
* @param value
* @param key
*
* @return YES,NO
*/
- (BOOL)setParameter:(NSString *)value forKey:(NSString *)key;
/**
*
*
*/
- (void)startWorking;
/*
* | ------------- |-----------------------------------------------------------
* | ifr |
* | ------------- |-----------------------------------------------------------
* | data_format |:jpg()gif
* | ------------- |-----------------------------------------------------------
* | data_encoding |raw()
* | ------------- |-----------------------------------------------------------
* | wtt |: 03000ms
* | ------------- |-----------------------------------------------------------
* | ivp |
* | ------------- |-----------------------------------------------------------
* | rgn |2~9.
* | ------------- |-----------------------------------------------------------
* | |>=tsd验证通过
* | tsd |0~100.
* | ------------- |-----------------------------------------------------------
* | ptxt |
* | ------------- |-----------------------------------------------------------
* | pwdt |1(),2(),3().
* | ------------- |-----------------------------------------------------------
* | fin |0(),1().
* | ------------- |-----------------------------------------------------------
* | wtt |:
* | ------------- |-----------------------------------------------------------
* | vad_enable |VAD功能开关VAD处理1(,),0()
* | ------------- |-----------------------------------------------------------
* | |
* | vad_bos |VAD功能时生效()0~30000ms,
* | |10000ms
* | ------------- |-----------------------------------------------------------
* | |
* | |VAD功能时生效()0~30000ms,
* | vad_eos |2000ms
* | ------------- |-----------------------------------------------------------
* | data_encoding |
* | ------------- |-----------------------------------------------------------
* | data_format |16000()8000
* | ------------- |-----------------------------------------------------------
* | ipt |
* | ------------- |-----------------------------------------------------------
* | scope | persongroup
* | ------------- |-----------------------------------------------------------
* | group_id |
* | ------------- |-----------------------------------------------------------
* | | ^@,&=*'"等非法字符且长度不得超过255.
* | group_name |,group_name约束不在云端控制
* | ------------- |-----------------------------------------------------------
* | topc |[top candidates] 1-5 1.
* | | topc值为5
* | ------------- |-----------------------------------------------------------
*
*/
/**
*
*
* @param ssub
* @param data
* @param offset
* @param length
* @param params
* <table>
* <thead>
* <tr><th>*ifr参数</th><th><em></em></th></tr>
* </thead>
* <tbody>
* <tr><td>data_format</td><td>:jpg()gif</td></tr>
* <tr><td>data_encoding</td><td>raw()</td></tr>
* <tr><td>wtt</td><td>: 03000ms</td></tr>
* </tbody>
* <thead>
* <tr><th>*ivp参数</th><th><em></em></th></tr>
* </thead>
* <tbody>
* <tr><td>rgn</td><td>2~9.</td></tr>
* <tr><td>tsd</td><td>>=tsd验证通过0~100.</td></tr>
* <tr><td>ptxt</td><td></td></tr>
* <tr><td>pwdt</td><td>1(),2(),3().</td></tr>
* <tr><td>fin</td><td>0(),1().</td></tr>
* <tr><td>wtt</td><td>:.</td></tr>
* <tr><td>vad_enable</td><td>VAD功能开关VAD处理1(,),0()</td></tr>
* <tr><td>vad_bos</td><td></br>VAD功能时生效()</br>0~30000ms,10000ms</td></tr>
* <tr><td>vad_eos</td><td></br>VAD功能时生效()</br>0~30000ms,2000ms</td></tr>
* <tr><td>data_encoding</td><td></td></tr>
* <tr><td>data_format</td><td>16000()8000</td></tr>
* </tbody>
* <thead>
* <tr><th>*ipt参数</th><th><em></em></th></tr>
* </thead>
* <tbody>
* <tr><td>scope</td><td> persongroup</td></tr>
* <tr><td>group_id</td><td> </td></tr>
* <tr><td>group_name</td><td> ^@,&=*'"等非法字符且长度不得超过255.此参数可以为空,对于group_name约束不在云端控制由前段控制</td></tr>
* <tr><td>topc</td><td>[top candidates] 1-5 1.topc值为5</td></tr>
* </tbody>
* </table>
*/
-(void)write:(NSString*)ssub data:(NSData*)data offset:(int)offset length:(int)length withParams:(NSString*)params;
/**
*
*
* @param ssub :ivp,ifr,ipt
*/
-(void)stopWrite:(NSString*)ssub;
/**
*
* *startWorking方法同时使用
*
* @param ssub ivp()ifr()ipt()
* @param cmd querydeletedownloadadd
* @param params write:data:offset:length:withParams:
*/
-(void)execute:(NSString*)ssub cmd:(NSString*)cmd params:(NSString*)params;
/**
*
*/
- (void)cancel;
@end

View File

@ -0,0 +1,47 @@
//
// IFlyIdentityVerifierDelegate.h
// IFlyMSC
//
// Created by 张剑 on 15/4/22.
// Copyright (c) 2015年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
@class IFlyIdentityResult;
/**
*
*/
@protocol IFlyIdentityVerifierDelegate <NSObject>
/*!
*
*
* @param error
*/
- (void)onCompleted:(IFlySpeechError *)error;
/*!
*
*
* @param results -[out]
* @param isLast -[out]
*/
- (void)onResults:(IFlyIdentityResult *)results isLast:(BOOL)isLast;
/**
* vad_eos消息
*
* @param eventType
* @param arg1 eventType为 Event_volume arg1为音量值
* @param arg2 2
* @param obj
*/
- (void)onEvent:(int)eventType arg1:(int)arg1 arg2:(int)arg2 extra:(id)obj;
@end

View File

@ -0,0 +1,40 @@
//
// IFlyMSC.h
// msc
//
// Created by 张剑 on 15/1/14.
// Copyright (c) 2015年 iflytek. All rights reserved.
//
#ifndef MSC_IFlyMSC_h
#define MSC_IFlyMSC_h
#import "IFlyAudioSession.h"
#import "IFlyDataUploader.h"
#import "IFlyDebugLog.h"
#import "IFlyIdentityVerifier.h"
#import "IFlyIdentityResult.h"
#import "IFlyIdentityVerifierDelegate.h"
#import "IFlyISVDelegate.h"
#import "IFlyISVRecognizer.h"
#import "IFlyRecognizerView.h"
#import "IFlyRecognizerViewDelegate.h"
#import "IFlyResourceUtil.h"
#import "IFlySetting.h"
#import "IFlySpeechConstant.h"
#import "IFlySpeechError.h"
#import "IFlySpeechEvaluator.h"
#import "IFlySpeechEvaluatorDelegate.h"
#import "IFlySpeechEvent.h"
#import "IFlySpeechRecognizer.h"
#import "IFlySpeechRecognizerDelegate.h"
#import "IFlySpeechSynthesizer.h"
#import "IFlySpeechSynthesizerDelegate.h"
#import "IFlySpeechUtility.h"
#import "IFlyUserWords.h"
#import "IFlyPcmRecorder.h"
#import "IFlyVerifierUtil.h"
#import "IFlyVoiceWakeuper.h"
#import "IFlyVoiceWakeuperDelegate.h"
#endif

View File

@ -0,0 +1,116 @@
//
// IFlyPcmRecorder.h
// MSC
// description:
// Created by ypzhao on 12-11-15.
// Copyright (c) 2012年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioQueue.h>
#import <AudioToolbox/AudioFile.h>
#import <AudioToolbox/AudioServices.h>
#import <AudioToolbox/AudioConverter.h>
#import <AVFoundation/AVFoundation.h>
@class IFlyPcmRecorder;
/*!
*
*/
@protocol IFlyPcmRecorderDelegate<NSObject>
/*!
*
*
* @param buffer
* @param size
*/
- (void) onIFlyRecorderBuffer: (const void *)buffer bufferSize:(int)size;
/*!
*
*
* @param recoder
* @param error
*/
- (void) onIFlyRecorderError:(IFlyPcmRecorder*)recoder theError:(int) error;
@optional
/*!
*
*
* @param power
*/
- (void) onIFlyRecorderVolumeChanged:(int) power;
@end
/*!
*
*/
@interface IFlyPcmRecorder : NSObject<AVAudioSessionDelegate>
/*!
*
*/
@property (nonatomic,assign) id<IFlyPcmRecorderDelegate> delegate;
/*!
* Deactive通知YES
*/
@property (nonatomic,assign) BOOL isNeedDeActive;
/*!
*
*
* @return
*/
+ (instancetype) sharedInstance;
/*!
*
*
* @return YESNO
*/
- (BOOL) start;
/*!
*
*/
- (void) stop;
/*!
*
*
* @param rate -[in] 8k/16k
*/
- (void) setSample:(NSString *) rate;
/*!
*
*/
- (void) setPowerCycle:(float) cycle;
/*!
*
*
* @param savePath
*/
-(void) setSaveAudioPath:(NSString *)savePath;
/*!
*
*
* @return YESNO
*/
-(BOOL) isCompleted;
@end

View File

@ -0,0 +1,134 @@
//
// IFlyRecognizerView.h
// MSC
//
// Created by admin on 13-4-16.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <UIKit/UIKit.h>
@protocol IFlyRecognizerViewDelegate ;
/*!
* <br>
* <br>
*
*
*/
@interface IFlyRecognizerView : UIView<NSObject>
/*!
*
*/
@property(nonatomic,assign)id<IFlyRecognizerViewDelegate> delegate;
/*!
*
*
* @param origin
*
* @return IFlyRecognizerView
*/
- (id)initWithOrigin:(CGPoint)origin;
/*!
*
*
* @param center
*
* @return IFlyRecognizerView
*/
- (id) initWithCenter:(CGPoint)center;
/*!
*
*
* @param autoRotate YES
*/
- (void) setAutoRotate:(BOOL)autoRotate;
/*
* | ------------- |-----------------------------------------------------------
* | |
* | ------------- |-----------------------------------------------------------
* | domain |: :iatsearchvideopoimusicasr
* | | iat
* | | search
* | | video
* | | asr;
* | ------------- |-----------------------------------------------------------
* | vad_bos |: ms
* | | engine指定iat识别默认值为5000
* | | 4000 0-10000
* | ------------- |-----------------------------------------------------------
* | vad_eos |: ,,
* | | :ms;
* | | sms 1800;
* | | 700 0-10000
* | ------------- |-----------------------------------------------------------
* | sample_rate |: 16000 8000
* | ------------- |-----------------------------------------------------------
* | asr_ptt |: 1 0
* | ------------- |-----------------------------------------------------------
* | result_type |: jsonxmlplainjson
* | ------------- |-----------------------------------------------------------
* | grammarID |id: domain asr
* | ------------- |-----------------------------------------------------------
* | asr_audio_path|:
* | | Documents/()
* | | nil
* | ------------- |-----------------------------------------------------------
* | params |:
* | ------------- |-----------------------------------------------------------
*
*/
/*!
*
*
* (key)<br>
*
* | | |
* |-----------------|-------------------------------------------------------|
* | domain | : :iatsearchvideopoimusicasr<br>iat<br>search<br>video<br>asr;|
* | vad_bos | : ms<br>engine指定iat识别默认值为5000<br> 4000 0-10000|
* | vad_eos | : ,,:ms;<br>sms 1800;<br> 700 0-10000|
* | sample_rate | : 16000 8000|
* | asr_ptt | : 1 0 |
* | result_type | : jsonxmlplainjson|
* | grammarID | id: domain asr|
* | asr_audio_path | : <br>Documents/()<br>nil|
* | params | : |
*
* @param value
* @param key
*
* @return YESNO
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
*
*
* @param key key
*
* @return
*/
-(NSString*) parameterForKey:(NSString *)key;
/*!
*
*
* @return YESNO
*/
- (BOOL)start;
/*!
*
*/
- (void)cancel;
@end

View File

@ -0,0 +1,36 @@
//
// IFlyRecognizerDelegate.h
// MSC
//
// Created by admin on 13-4-16.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlyRecognizerView;
@class IFlySpeechError;
/*!
*
*/
@protocol IFlyRecognizerViewDelegate <NSObject>
/*!
*
*
* @param resultArray NSArray的第一个元素为NSDictionaryNSDictionary的key为识别结果sc为识别结果的置信度
* @param isLast -[out]
*/
- (void)onResult:(NSArray *)resultArray isLast:(BOOL) isLast;
/*!
*
*
* @param error
*/
- (void)onCompleted: (IFlySpeechError *) error;
@optional
@end

View File

@ -0,0 +1,90 @@
//
// IFlyResourceUtil.h
// MSCDemo
//
// Created by admin on 14-6-20.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
*
*/
@interface IFlyResourceUtil : NSObject
/*!
* MSPSetParam
*
* @return MSPSetParam
*/
+(NSString*) ENGINE_START;
/*!
* MSPSetParam
*
* @return MSPSetParam
*/
+(NSString*) ENGINE_DESTROY;
/*!
*
*
* @return
*/
+(NSString*) ASR_RES_PATH;
/*!
*
*
* @return
*/
+(NSString*) GRM_BUILD_PATH;
/*!
* voice_name方可生效
*
* @return voice_name方可生效
*/
+(NSString*) TTS_RES_PATH;
/*!
*
*
* @return
*/
+(NSString*) IVW_RES_PATH;
/*!
*
*
* @return
*/
+(NSString*) GRAMMARTYPE;
/*!
* SDK专用参数
*
* @return key字符串
*/
+(NSString*) PLUS_LOCAL_DEFAULT_RES_PATH;
#pragma mark -
/*!
*
*
* @param path
*
* @return
*/
+(NSString*) generateResourcePath:(NSString *)path;
/**
* 线id
*
* @param voiceName
*
* @return idnil
*/
+(NSString*) identifierForVoiceName:(NSString*)voiceName;
@end

View File

@ -0,0 +1,88 @@
//
// IFlySetting.h
// MSC
//
// Created by iflytek on 13-4-12.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
*
*/
typedef NS_OPTIONS(NSInteger, LOG_LEVEL){
/*!
*
*/
LVL_ALL = -1,
/*!
*
*/
LVL_DETAIL = 31,
/*!
*
*/
LVL_NORMAL = 15,
/*!
*
*/
LVL_LOW = 7,
/*!
*
*/
LVL_NONE = 0
};
/*!
* iflyMSC sdk <br>
*
*/
@interface IFlySetting : NSObject
/*!
*
*
* @return
*/
+ (NSString *) getVersion;
/*!
*
*
* @return
*/
+ (LOG_LEVEL) logLvl;
/*!
* log<br>
* log
*
* @param showLog -[in] YES,log;NO,
*/
+ (void) showLogcat:(BOOL) showLog;
/*!
* msc.log生成路径以及日志等级
*
* | | |
* |------------------------|-----------------------------------|
* | LVL_ALL | |
* | LVL_DETAIL | |
* | LVL_NORMAL | |
* | LVL_LOW | |
* | LVL_NONE | |
*
* @param level -[in]
*/
+ (void) setLogFile:(LOG_LEVEL) level;
/*!
* <br>
* Documents目录
*
* @param path -[in]
*/
+ (void) setLogFilePath:(NSString*) path;
@end

View File

@ -0,0 +1,945 @@
//
// IFlySpeechConstant.h
// MSCDemo
//
// Created by iflytek on 5/9/14.
// Copyright (c) 2014 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
* <br>
* key value值
*/
@interface IFlySpeechConstant : NSObject
#pragma mark - 通用参数key
/*!
* ID<br>
*
*
* @return IDkey
*/
+(NSString*)APPID;
/*!
*
*
* @return key
*/
+(NSString*)ACCENT;
/*!
*
*
* @return value
*/
+(NSString*)ACCENT_MANDARIN;
/*!
*
*
* @return value
*/
+(NSString*)ACCENT_HENANESE;
/*!
*
*
* @return value
*/
+(NSString*)ACCENT_SICHUANESE;
/*!
*
*
* @return value
*/
+(NSString*)ACCENT_CANTONESE;
/*!
* <br>
* zh_cnzh_twen_us<br>
*
* @return key
*/
+(NSString*)LANGUAGE;
/*!
*
*
* @return value
*/
+(NSString*)LANGUAGE_CHINESE;
/*!
*
*
* @return value
*/
+(NSString*)LANGUAGE_CHINESE_TW;
/*!
*
*
* @return value
*/
+(NSString*)LANGUAGE_ENGLISH;
/*!
*
*
* @return value
*/
+(NSString*)LANGUAGE_RUSSIAN;
/*!
*
*
* @return value
*/
+(NSString*)LANGUAGE_JAPANESE;
/*!
*
*
* @return value
*/
+(NSString*)LANGUAGE_FRENCH;
/*!
*
*
* @return 西value
*/
+(NSString*)LANGUAGE_SPANISH;
/*!
*
*
* @return value
*/
+(NSString*)LANGUAGE_KOREAN;
/*!
* jsonxmlplainjson
*
* @return key
*/
+(NSString*)RESULT_TYPE;
/*!
*
*
* @return key
*/
+(NSString*)IFLY_DOMAIN;
/*!
*
*
* @return key
*/
+(NSString*)DATA_TYPE;
/*!
* <br>
* ms30000
*
* @return key
*/
+(NSString*)SPEECH_TIMEOUT;
/*!
* <br>
* ms20000
*
* @return key
*/
+(NSString*)NET_TIMEOUT;
/*!
*
*
* @return key
*/
+(NSString*)SUBJECT;
/*!
*
*
* @return key
*/
+(NSString*)PARAMS;
/*!
*
*
* ssl tcp tcp<br>
* 使ssl
*
* @return key
*/
+(NSString*)PROT_TYPE;
/*!
* ssl证书内容
*
* @return ssl证书内容key
*/
+(NSString*)SSL_CERT;
/*!
*
*
* @return key
*/
+(NSString*)POWER_CYCLE;
/*!
*
*
* @return key
*/
+(NSString*)SAMPLE_RATE;
/*!
*
*
* @return 8K Value
*/
+(NSString*)SAMPLE_RATE_8K;
/*!
*
*
* @return 16K Value
*/
+(NSString*)SAMPLE_RATE_16K;
/*!
* <br>
* localcloudauto<br>
* auto
*
* @return key
*/
+(NSString*)ENGINE_TYPE;
/*!
* xtts识别引擎
*
* @return value
*/
+(NSString*)TYPE_LOCAL_XTTS;
/*!
*
*
* @return value
*/
+(NSString*)TYPE_LOCAL;
/*!
*
*
* @return value
*/
+(NSString*)TYPE_CLOUD;
/*!
*
*
* @return value
*/
+(NSString*)TYPE_MIX;
/*!
*
*
* @return value
*/
+(NSString*)TYPE_AUTO;
/*!
*
*
* @return key
*/
+(NSString*)TEXT_ENCODING;
/*!
*
*
* @return key
*/
+(NSString*)RESULT_ENCODING;
/*!
* <br>
* SDK内部播放器采用音频队列实现<br>
* 0:0:
*
* @return key
*/
+(NSString*)PLAYER_INIT;
/*!
* deactive系统通知<br>
* SDK内部播放器结束后可通过此开关发送deactive系统通知使<br>
* 0:0:
*
* @return deactive系统通知参数key
*/
+(NSString*)PLAYER_DEACTIVE;
/**
* <br>
* SDK内部录音器采用音频队列实现<br>
* 0:0:
*
* @return key
*/
+(NSString*)RECORDER_INIT;
/**
* deactive系统通知<br>
* SDK内部录音器结束后可通过此开关发送deactive系统通知使<br>
* 0:0:
*
* @return deactive系统通知参数key
*/
+(NSString*)RECORDER_DEACTIVE;
#pragma mark - 合成相关设置key
/*!
* <br>
* 0~100 :50
*
* @return key
*/
+(NSString*)SPEED;
/*!
* <br>
* 0~100:50
*
* @return key
*/
+(NSString*)PITCH;
/*!
*
*
* :[IFlySetting setLogFilePath]
*
* @return key
*/
+(NSString*)TTS_AUDIO_PATH;
/**
* VAD功能
*
* @return VAD功能key
*/
+(NSString*)VAD_ENABLE;
/*!
* VAD前端点超时<br>
* 0-10000(ms)
*
* @return VAD前端点超时key
*/
+(NSString*)VAD_BOS;
/*!
* VAD后端点超时<br>
* 0-10000(ms)
*
* @return VAD后端点超时key
*/
+(NSString*)VAD_EOS;
/*
*
* TTS的发音人角色使
*
* |--------|----------------|
* | | |
* |--------|----------------|
* | | xiaoyan |
* |--------|----------------|
* | | xiaoyu |
* |--------|----------------|
* | | catherine |
* |--------|----------------|
* | | henry |
* |--------|----------------|
* | | vimary |
* |--------|----------------|
* | | vixy |
* |--------|----------------|
* | | vixq |
* |--------|----------------|
* | | vixf |
* |--------|----------------|
* | | vixl |
* |--------|----------------|
* | | vixq |
* |--------|----------------|
* | | vixr |
* |--------|----------------|
* | | vixyun |
* |--------|----------------|
* | | vixk |
* |--------|----------------|
* | | vixqa |
* |--------|----------------|
* | | vixyin |
* |--------|----------------|
* | | vixx |
* |--------|----------------|
* | | vinn |
* |--------|----------------|
* | | vils |
* |--------|----------------|
*/
/*!
*
*
* <br>
* TTS的发音人角色使<br>
*
* | | |
* |:--------:|:----------------:|
* | | xiaoyan |
* | | xiaoyu |
* | | catherine |
* | | henry |
* | | vimary |
* | | vixy |
* | | vixq |
* | | vixf |
* | | vixl |
* | | vixq |
* | | vixr |
* | | vixyun |
* | | vixk |
* | | vixqa |
* | | vixyin |
* | | vixx |
* | | vinn |
* | | vils |
*
* @return key
*/
+(NSString*)VOICE_NAME;
/*!
* ID key
*
* @return ID key
*/
+(NSString*)VOICE_ID;
/*!
* key
*
* 0:Auto 1: 2 0.
*
* @return ID key
*/
+(NSString*)VOICE_LANG;
/*!
* <br>
* 0~100 :50
*
* @return key
*/
+(NSString*)VOLUME ;
/*!
* <br>
* tts_buffer_time=1000;<br>
* 1000ms毫秒后播放
*
* @return key
*/
+(NSString*)TTS_BUFFER_TIME ;
/*!
*
*
* 1onEvent回调返回<br>
* 100
*
* @return key
*/
+(NSString*)TTS_DATA_NOTIFY;
/*!
*
*
* @return key
*/
+(NSString*)NEXT_TEXT;
/*!
* MPPlayingInfocenter<br>
* MPPlayerCenter的属性;0:1:
*
* @return MPPlayingInfocenter key
*/
+(NSString*)MPPLAYINGINFOCENTER;
#pragma mark - 识别、听写、语义相关设置key
/*!
* <br>
* 1<br>
* -1WriteAudio接口送入音频
*
* @return key
*/
+(NSString*)AUDIO_SOURCE;
/*!
*
*
* @return key
*/
+(NSString*) ASR_AUDIO_PATH;
/*!
*
*
* @return key
*/
+(NSString*)ASR_SCH;
/*!
*
*
* @return key
*/
+(NSString*)ASR_PTT;
/*!
* ASR_PTT
*
* @return Value
*/
+(NSString*)ASR_PTT_HAVEDOT;
/*!
* ASR_PTT
*
* @return Value
*/
+(NSString*)ASR_PTT_NODOT;
/*!
* <br>
* CLOUD_GRAMMAR
*
* @return key
*/
+(NSString*)LOCAL_GRAMMAR;
/*!
* ID<br>
* 使GRAMMAR_ID使
*
* @return ID key
*/
+(NSString*)CLOUD_GRAMMAR;
/*!
*
*
* @return key
*/
+(NSString*)GRAMMAR_TYPE;
/*!
*
*
* @return key
*/
+(NSString*)GRAMMAR_CONTENT;
/*!
*
*
* @return key
*/
+(NSString*)LEXICON_CONTENT;
/*!
*
*
* @return key
*/
+(NSString*)LEXICON_NAME;
/*!
*
*
* @return key
*/
+(NSString*)GRAMMAR_LIST;
/*!
* <br>
* 使http://osp.voicecloud.cn/上进行业务配置
*
* @return key
*/
+(NSString*)NLP_VERSION;
#pragma mark - 唤醒相关设置key
/*!
*
*
* @return key
*/
+(NSString*)IVW_THRESHOLD;
/*!
*
*
* @return key
*/
+(NSString*)IVW_SST;
/*!
* +
*
* @return +key
*/
+(NSString*)IVW_ONESHOT;
/*!
* <br>
* 10
*
* @return key
*/
+(NSString*)KEEP_ALIVE;
/*!
*
*
* @return key
*/
+(NSString*) IVW_AUDIO_PATH;
#pragma mark - 评测相关设置key
/*!
* <br>
* read_syllable():;read_word:;read_sentence:;read_chapter():
*
* @return key
*/
+(NSString*)ISE_CATEGORY;
/*!
* <br>
* complete plain
*
* @return key
*/
+(NSString*)ISE_RESULT_LEVEL;
/*!
* <br>
* xml;plain
*
* @return key
*/
+(NSString*)ISE_RESULT_TYPE;
/*!
*
*
* @return key
*/
+(NSString*) ISE_AUDIO_PATH;
/*!
* <br>
* enable:;disable:
*
* @return key
*/
+(NSString*)ISE_AUTO_TRACKING;
/*!
* <br>
* easy:;hard:
*
* @return key
*/
+(NSString*)ISE_TRACK_TYPE;
#pragma mark - 语记SDK业务key
/*!
*
*
* @return key
*/
+ (NSString *)PLUS_LOCAL_ALL;
/*!
*
*
* @return key
*/
+ (NSString *)PLUS_LOCAL_TTS;
/*!
*
*
* @return key
*/
+ (NSString *)PLUS_LOCAL_ASR;
/*!
*
*
* @return key
*/
+ (NSString *)PLUS_LOCAL_IVW;
#pragma mark - 身份验证业务key
/*!
* auth_id<br>
*
*
* @return
*/
+ (NSString*)MFV_AUTH_ID;
/*!
* mfvivpifr
*
* @return key
*/
+ (NSString*)MFV_SUB;
/*!
* sub有不同的sst取值<br>
* ifrenrollverifyidentifyreenrollquerydelete<br>
* ivpenrolltrainverifyreenrollquerydeletedownload
*
* @return key
*/
+ (NSString*)MFV_SST;
/*!
* 使sinmixagi
*
* @return key
*/
+ (NSString*)MFV_VCM;
/*!
* ivpifrivp|ifr
*
* @return key
*/
+ (NSString*)MFV_SCENES;
/*!
* (affirmance cycles)使
*
* @return key
*/
+ (NSString*)MFV_AFC;
/*!
*
*
* @return key
*/
+ (NSString*)MFV_DATA_PATH;
/*!
* 2~9.
*
* @return key
*/
+ (NSString*)MFV_RGN;
/*!
* >=tsd验证通过,0~100.
*
* @return key
*/
+ (NSString*)MFV_TSD;
/*!
*
*
* @return key
*/
+ (NSString*)MFV_PTXT;
/*!
* 1(),2(),3().
*
* @return key
*/
+ (NSString*)MFV_PWDT;
/*!
* 0(),1().
*
* @return key
*/
+ (NSString*)MFV_FIN;
/*!
* :
*
* @return :key
*/
+ (NSString*)MFV_WTT;
/*!
* <br>
* 160008000;jpg和gif
*
* @return key
*/
+ (NSString*)MFV_DATA_FORMAT;
/*!
* <br>
* ;raw
*
* @return key
*/
+ (NSString*)MFV_DATA_ENCODING;
#pragma mark - 人脸业务key
//1. sub 取值: wfr 用途: 用于区分业务类型,web访问方式中nginx配置不用使用但是在结构化日志和染色日志记录中使用。
//2. sst 取值: reg、verify、detect、align 用途: 指定本路会话是属于何种性质
// + 人脸图像注册(reg):上传图像,验证图像的有效性,然后存储起来,作为数据源。
// + 人脸图像验证(verify):通过与指定源图像比较,验证人脸相似性。
// + 人脸图像检测(detect):能够检测出不同姿态方位的人脸在图中的位置。
// + 人脸图像聚焦(align):在给定人脸框下自动标定出两眼、鼻尖、嘴角的坐标。
//3. aue 取值: raw 用途: 图像压缩格式现在引擎不支持图像压缩aue只能取值raw
//4. pset 取值: 整数 用途: 人脸识别验证阈值,取值可以是负数也可以是整数。
//5. skip 取值: true/false 用途: 后台图片处理是否进行过滤。true表示不过滤false表示过滤
//6. gid 取值: *********** 用途: 图像模型id4a6c124ed6b78436ee5aac4563f13eb5
//7. appid 取值:用户申请的appid 用途: 验证用户
/*!
* sub :wfr<br>
* ,web访问方式中nginx配置不用使用使
*/
+ (NSString*) FACE_SUB;
/*!
* WFR<br>
* sub参数的默认值
*/
+ (NSString*) FACE_WFR;
/*!
* sst<br>
*
*/
+ (NSString*) FACE_SST;
/*!
* REG<br>
* (reg)
*/
+ (NSString*) FACE_REG;
/*!
* VERIFY<br>
* (verify)
*/
+ (NSString*) FACE_VERIFY;
/*!
* DETECT<br>
* (detect)姿
*/
+ (NSString*) FACE_DETECT;
/*!
* ALIGN<br>
* (align)
*/
+ (NSString*) FACE_ALIGN;
/*!
* ATTR<br>
* (attr)
*/
+ (NSString*) FACE_ATTR;
/*!
* AUE<br>
* aue只能取值raw
*/
+ (NSString*) FACE_AUE;
/*!
* RAW<br>
* AUE参数的值
*/
+ (NSString*) FACE_RAW;
/*!
* PSET<br>
*
*/
+ (NSString*) FACE_PSET;
/*!
* SKIP<br>
* true表示不过滤false表示过滤@true@false
*/
+ (NSString*) FACE_SKIP;
/*!
* GID<br>
* id4a6c124ed6b78436ee5aac4563f13eb5
*/
+ (NSString*) FACE_GID;
/*!
* auth_id<br>
*
*
* @return
*/
+ (NSString*)FACE_AUTH_ID;
/*!
* DVC<br>
* ,
*/
+ (NSString*) FACE_DVC;
@end

View File

@ -0,0 +1,58 @@
//
// IFlySpeechError.h
// MSC
//
// Created by iflytek on 13-3-19.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#ifndef __IFlySpeechError__
#define __IFlySpeechError__
#import <Foundation/Foundation.h>
/*!
*
*/
@interface IFlySpeechError : NSObject
/*!
*
*/
@property(nonatomic,assign) int errorCode;
/*!
*
*/
@property(nonatomic,assign) int errorType;
/*!
*
*/
@property(nonatomic,retain) NSString* errorDesc;
/*!
*
*
* @param errorCode -[in]
*
* @return IFlySpeechError对象
*/
+ (instancetype) initWithError:(int) errorCode;
/*!
*
*
* @return
*/
-(int) errorCode;
/*!
*
*
* @return
*/
- (NSString *) errorDesc;
@end
#endif

View File

@ -0,0 +1,101 @@
//
// IFlySpeechEvaluator.h
// msc
//
// Created by jianzhang on 14-1-13
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlySpeechEvaluatorDelegate.h"
#define IFLY_AUDIO_SOURCE_MIC @"1"
#define IFLY_AUDIO_SOURCE_STREAM @"-1"
/*!
*
*/
@interface IFlySpeechEvaluator : NSObject <IFlySpeechEvaluatorDelegate>
/*!
*
*/
@property (assign) id <IFlySpeechEvaluatorDelegate> delegate;
/*!
*
*
* @return
*/
+ (instancetype)sharedInstance;
/*!
*
*
* @return YESNO
*/
- (BOOL)destroy;
/*!
*
*
* @param value
* @param key
*
* @return YES,NO
*/
- (BOOL)setParameter:(NSString *)value forKey:(NSString *)key;
/*!
*
*
* @param key
*
* @return key对应的参数值
*/
- (NSString*)parameterForKey:(NSString *)key;
/*!
* <br>
* ,
*
* @param data
* @param params
* @return YESNO
*/
- (BOOL)startListening:(NSData *)data params:(NSString *)params;
/*!
* <br>
*
*/
- (void)stopListening;
/*!
*
*/
- (void)cancel;
@end
/*!
* <br>
*
*/
@interface IFlySpeechEvaluator(IFlyStreamISERecognizer)
/*!
*
*
* @param audioData
*
* @return YESNO
*/
- (BOOL) writeAudio:(NSData *) audioData;
@end

View File

@ -0,0 +1,64 @@
//
// IFlySpeechEvaluatorDelegate.h
// msc
//
// Created by admin on 13-6-19.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
/*!
*
*/
@protocol IFlySpeechEvaluatorDelegate <NSObject>
/*!
*
*
* @param volume
* @param buffer
*/
- (void)onVolumeChanged:(int)volume buffer:(NSData *)buffer;
/*!
* <br>
* `startListening`onCompleted:
*/
- (void)onBeginOfSpeech;
/*!
* <br>
* `stopListening`<br>
* onCompleted:
*/
- (void)onEndOfSpeech;
/*!
*
*/
- (void)onCancel;
/*!
*
*
* errorCode进行相应的处理.errorCode没有错误时`cancel``startListenging`
*
* @param errorCode
*/
- (void)onCompleted:(IFlySpeechError *)errorCode;
/*!
* <br>
*
*
* @param results -[out]
* @param isLast -[out]
*/
- (void)onResults:(NSData *)results isLast:(BOOL)isLast;
@end

View File

@ -0,0 +1,151 @@
//
// IFlySpeechEvent.h
// MSCDemo
//
// Created by admin on 14-8-12.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
*
*/
typedef NS_ENUM(NSUInteger,IFlySpeechEventType){
/*!
* <br>
* ,onEvent的第2个参数arg1,
*/
IFlySpeechEventTypeNetPref = 10001,
/*!
* <br>
* onEvent第4个参数dataKey为[IFlySpeechConstant IST_AUDIO_PATH],.[IFlySpeechTranscripter getParameter:[IFlySpeechConstant IST_AUDIO_PATH]],.
*/
IFlySpeechEventTypeISTAudioFile = 10004,
/*!
* <br>
* ,onEvent的第二个参数arg1,.,onEvent
* arg2,.[IFlySpeechConstant SPEECH_TIMEOUT][IFlySpeechTranscripter stopTranscripting]data(true)data调用指定KEY为KCIFlySpeechEventKeyISTUploadComplete获取.
*/
IFlySpeechEventTypeISTUploadBytes = 10006,
/*!
* <br>
* -1,[IFlySpeechTranscripter writeAudio]<br>
* onEvent的第二个参数arg1,.128KByte
*/
IFlySpeechEventTypeISTCacheLeft = 10007,
/*!
* <br>
* , onEvent的第二个参数arg1,.<br>
* .
*/
IFlySpeechEventTypeISTResultTime= 10008,
/*!
* ID消息<br>
* , onEvent的第二个参数arg1,ID.<br>
* .
*/
IFlySpeechEventTypeISTSyncID= 10009,
/*!
* <br>
*
*/
IFlySpeechEventTypeSessionBegin = 10010,
/*!
* <br>
*
*/
IFlySpeechEventTypeSessionEnd = 10011,
/*!
*
*/
IFlySpeechEventTypeVolume = 10012,
/*!
* VAD后端点消息VAD后端点时抛出
*/
IFlySpeechEventTypeVadEOS = 10013,
/*!
* id<br>
* ,onEvent的第4个参数data()key KCIFlySpeechEventKeySessionID,id.
*/
IFlySpeechEventTypeSessionID = 20001,
/*!
* TTS合成数据消息<br>
* -(void)onEvent:(int)eventType arg0:(int)arg0 arg1:(int)arg1 data:(NSData *)eventData<br>
* eventData中包含数据
*
*/
IFlySpeechEventTypeTTSBuffer = 21001,
/*!
* cancel方法被调用的回调
*
*/
IFlySpeechEventTypeTTSCancel = 21002,
/*!
* IVW onshot or <br>
* ,2arg1包含是否为最后一个结果:1,0;<br>
* 4data中包含数据KEY为KCIFlySpeechEventKeyIVWResult获取.
*/
IFlySpeechEventTypeIVWResult = 22001,
/*!
*
*
*/
IFlySpeechEventTypeSpeechStart= 22002,
/*!
*
*
*/
IFlySpeechEventTypeRecordStop= 22003,
/*!
* url<br>
* ,4data,,KEY为KCIFlySpeechEventKeyAudioUrl获取.
*/
IFlySpeechEventTypeAudioUrl = 23001,
/*!
* <br>
* voice_change参数获取结果.
*/
IFlySpeechEventTypeVoiceChangeResult = 24001
};
#pragma mark - keys for event data
/**
* key
*/
extern NSString* const KCIFlySpeechEventKeyISTUploadComplete;
/**
* key
*/
extern NSString* const KCIFlySpeechEventKeySessionID;
/**
* TTS取音频数据key
*/
extern NSString* const KCIFlySpeechEventKeyTTSBuffer;
/**
* IVW oneshot or key
*/
extern NSString* const KCIFlySpeechEventKeyIVWResult;
/**
* url key
*/
extern NSString* const KCIFlySpeechEventKeyAudioUrl;

View File

@ -0,0 +1,175 @@
//
// IFlySpeechRecognizer.h
// MSC
//
// Created by iflytek on 13-3-19.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlySpeechRecognizerDelegate.h"
#define IFLY_AUDIO_SOURCE_MIC @"1"
#define IFLY_AUDIO_SOURCE_STREAM @"-1"
/*!
* <br>
* 使release/dealloc函数去释放此对象
*/
@interface IFlySpeechRecognizer : NSObject<IFlySpeechRecognizerDelegate>
/*!
*
*/
@property(nonatomic,assign) id<IFlySpeechRecognizerDelegate> delegate ;
/*!
*
*
* @return
*/
+ (instancetype) sharedInstance;
/*!
*
*
* @return YES,NO
*/
- (BOOL) destroy;
/*
* | ------------- |-----------------------------------------------------------
* | |
* | ------------- |-----------------------------------------------------------
* | domain |: :iatsearchvideopoimusicasr
* | | iat
* | | search
* | | video
* | | asr;
* | ------------- |-----------------------------------------------------------
* | vad_bos |: ms
* | | engine指定iat识别默认值为5000
* | | 4000 0-10000
* | ------------- |-----------------------------------------------------------
* | vad_eos |: ,,
* | | :ms;
* | | sms 1800;
* | | 700 0-10000
* | ------------- |-----------------------------------------------------------
* | sample_rate |: 16000 8000
* | ------------- |-----------------------------------------------------------
* | asr_ptt |: 1 0
* | ------------- |-----------------------------------------------------------
* | result_type |: jsonxmlplainjson
* | ------------- |-----------------------------------------------------------
* | grammarID |id: domain asr
* | ------------- |-----------------------------------------------------------
* | asr_audio_path|:
* | | Documents/()
* | | nil
* | ------------- |-----------------------------------------------------------
* | params |:
* | ------------- |-----------------------------------------------------------
*
*/
/*!
*
*
* (key)
*
* | | |
* |-----------------|-------------------------------------------------------|
* | domain | : :iatsearchvideopoimusicasr<br>iat<br>search<br>video<br>asr;|
* | vad_bos | : ms<br>engine指定iat识别默认值为5000<br> 4000 0-10000|
* | vad_eos | : ,,:ms;<br>sms 1800;<br> 700 0-10000|
* | sample_rate | : 16000 8000|
* | asr_ptt | : 1 0 |
* | result_type | : jsonxmlplainjson|
* | grammarID | id: domain asr|
* | asr_audio_path | : <br>Documents/()<br>nil|
* | params | : |
*
* @param value
* @param key
*
* @return YESNO
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
*
*
* @param key key
*
* @return
*/
-(NSString*) parameterForKey:(NSString *)key;
/*!
*
*
* onCompleted回调返回后请求下一路回话
*
* @return YESNO
*/
- (BOOL) startListening;
/*!
* <br>
*
*/
- (void) stopListening;
/*!
*
*/
- (void) cancel;
/*!
*
*
* @param completionHandler
* @param grammarType
* @param grammarContent
*
* @return
*/
- (int) buildGrammarCompletionHandler:(IFlyOnBuildFinishCompletionHandler)completionHandler
grammarType:(NSString *)grammarType
grammarContent:(NSString *)grammarContent;
/*!
*
*/
@property (nonatomic, readonly) BOOL isListening;
@end
/*!
* <br>
*
*/
@interface IFlySpeechRecognizer(IFlyStreamRecognizer)
/*!
*
*
* 使:
* <pre><code>[_iFlySpeechRecognizer setParameter:@"-1" value:@"audio_source"];
* [_iFlySpeechRecognizer startListening];
* [_iFlySpeechRecognizer writeAudio:audioData1];
* [_iFlySpeechRecognizer writeAudio:audioData2];
* ...
* [_iFlySpeechRecognizer stopListening];
* </code></pre>
*
* @param audioData
*
* @return YESNO
*/
- (BOOL) writeAudio:(NSData *) audioData;
@end

View File

@ -0,0 +1,111 @@
//
// IFlySpeechRecognizerDelegate.h
// MSC
//
// Created by ypzhao on 13-3-27.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
/*!
*
*
* @param grammarId id
* @param error
*/
typedef void(^IFlyOnBuildFinishCompletionHandler)(NSString* grammarId,IFlySpeechError * error);
/*!
* <br>
* 使.
*/
@protocol IFlySpeechRecognizerDelegate <NSObject>
@required
/*!
*
*
* errorCode进行相应的处理errorCode没有错误时`cancel``startListenging`
*
* @param errorCode
*/
- (void) onCompleted:(IFlySpeechError *) errorCode;
/*!
*
*
* <br>
* 使results的示例如下
* <pre><code>
* - (void) onResults:(NSArray *) results{
* NSMutableString *result = [[NSMutableString alloc] init];
* NSDictionary *dic = [results objectAtIndex:0];
* for (NSString *key in dic){
* [result appendFormat:@"%@",key];//合并结果
* }
* }
* </code></pre>
*
* @param results -[out] NSArray的第一个元素为NSDictionaryNSDictionary的key为识别结果sc为识别结果的置信度
* @param isLast -[out]
*/
- (void) onResults:(NSArray *) results isLast:(BOOL)isLast;
@optional
/*!
* <br>
*
*
* @param volume -[out] 0-30
*/
- (void) onVolumeChanged: (int)volume;
/*!
* <br>
* `startListening`<br>
* onCompleted:
*/
- (void) onBeginOfSpeech;
/*!
* <br>
* `stopListening`<br>
* onCompleted:
*/
- (void) onEndOfSpeech;
/*!
* <br>
* `cancel`cancel函数和回调onCompleted之前会有一个<br>
*
*/
- (void) onCancel;
#ifdef _EDUCATION_
/*!
* Key
*
* @param key Key
*/
- (void) getAudioKey:(NSString *)key;
#endif
/*!
* <br>
*
*
* @param eventType IFlySpeechEventType的IFlySpeechEventTypeVoiceChangeResult枚举
* @param arg0 arg0
* @param arg1 arg1
* @param eventData
*/
- (void) onEvent:(int)eventType arg0:(int)arg0 arg1:(int)arg1 data:(NSData *)eventData;
@end

View File

@ -0,0 +1,123 @@
//
// IFlySpeechSynthesizer.h
// MSC
//
// Created by 侯效林 on 16-4-22.
// Copyright (c) 2016年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlySpeechSynthesizerDelegate.h"
/*!
*
*/
@interface IFlySpeechSynthesizer : NSObject
/*!
*
*/
@property(nonatomic,assign) id<IFlySpeechSynthesizerDelegate> delegate;
/*!
*
*
* @return
*/
+ (instancetype) sharedInstance;
/*!
*
*
* @return YES,NO.
*/
+ (BOOL) destroy;
/*
* | ------------- |-----------------------------------------------------------
* | |
* | ------------- |-----------------------------------------------------------
* | speed |, 0~100
* | ------------- |-----------------------------------------------------------
* | volume |, 0~100
* | ------------- |-----------------------------------------------------------
* | voice_name |xiaoyan
* | ------------- |-----------------------------------------------------------
* | sample_rate |: 16000 8000
* | ------------- |-----------------------------------------------------------
* | tts_audio_path|
* | |Documents/()nil
* | ------------- |-----------------------------------------------------------
* | params |:
* | ------------- |-----------------------------------------------------------
*
*/
/*!
*
*
* | | |
* |-----------------|----------------------------------------------------|
* | speed | , 0~100 |
* | volume | , 0~100 |
* | voice_name | xiaoyan |
* | sample_rate | : 16000 8000 |
* | tts_audio_path | <br>Documents/()nil|
* | params | : |
*
* @param value
* @param key
*
* @return YESNO
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
*
*
* @param key key
*
* @return
*/
-(NSString*) parameterForKey:(NSString *)key;
/*!
* ()<br>
* `onCompleted`
*
* @param text ,1k
*/
- (void) startSpeaking:(NSString *)text;
/*!
* ()<br>
* `onCompleted`
*
* @param text ,1k
* @param uri
*/
-(void)synthesize:(NSString *)text toUri:(NSString*)uri;
/*!
* <br>
* `onCompleted`
*/
- (void) pauseSpeaking;
/*!
*
*/
- (void) resumeSpeaking;
/*!
*
*/
- (void) stopSpeaking;
/*!
*
*/
@property (nonatomic, readonly) BOOL isSpeaking;
@end

View File

@ -0,0 +1,81 @@
//
// IFlySpeechSynthesizerDelegate.h
// MSC
//
// Created by ypzhao on 13-3-20.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlySpeechEvent.h"
@class IFlySpeechError;
/*!
*
*/
@protocol IFlySpeechSynthesizerDelegate <NSObject>
@required
/*!
* <br>
*
*
* @param error
*/
- (void) onCompleted:(IFlySpeechError*) error;
@optional
/*!
*
*/
- (void) onSpeakBegin;
/*!
*
*
* @param progress 0-100
* @param msg nil
*/
- (void) onBufferProgress:(int) progress message:(NSString *)msg;
/*!
*
*
* @param progress 0-100
* @param beginPos (2)2
* @param endPos (2)2
*/
- (void) onSpeakProgress:(int) progress beginPos:(int)beginPos endPos:(int)endPos;
/*!
*
*/
- (void) onSpeakPaused;
/*!
* <br>
* SDK内部不执行onSpeakBegin中执行
*/
- (void) onSpeakResumed;
/*!
* <br>
* SDK内部不执行
*/
- (void) onSpeakCancel;
/*!
* <br>
*
*
* @param eventType IFlySpeechEventType枚举EVENT_TTS_BUFFER也就是实时返回合成音频
* @param arg0 arg0
* @param arg1 arg1
* @param eventData
*/
- (void) onEvent:(int)eventType arg0:(int)arg0 arg1:(int)arg1 data:(NSData *)eventData;
@end

View File

@ -0,0 +1,132 @@
//
// IFlySpeechUnderstander.h
// MSC
//
// Created by iflytek on 2014-03-12.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
@protocol IFlySpeechRecognizerDelegate;
/*!
*
*/
@interface IFlySpeechUnderstander : NSObject
/*!
*
*/
@property (readonly) BOOL isUnderstanding;
/*!
*
*/
@property(nonatomic,retain) id<IFlySpeechRecognizerDelegate> delegate ;
/*!
*
*
* @return
*/
+(instancetype) sharedInstance;
/*!
*
*
* onCompleted回调返回后请求下一路回话
*
* @return YESNO
*/
- (BOOL) startListening;
/*!
* <br>
*
*/
- (void) stopListening;
/*!
*
*/
- (void) cancel;
/*
* | ------------- |-----------------------------------------------------------
* | |
* | ------------- |-----------------------------------------------------------
* | domain |: :iatsearchvideopoimusicasr
* | | iat
* | | search
* | | video
* | | asr;
* | ------------- |-----------------------------------------------------------
* | vad_bos |: ms
* | | engine指定iat识别默认值为5000
* | | 4000 0-10000
* | ------------- |-----------------------------------------------------------
* | vad_eos |: ,,
* | | :ms;
* | | sms 1800;
* | | 700 0-10000
* | ------------- |-----------------------------------------------------------
* | sample_rate |: 16000 8000
* | ------------- |-----------------------------------------------------------
* | asr_ptt |: 1 0
* | ------------- |-----------------------------------------------------------
* | result_type |: jsonxmlplainjson
* | ------------- |-----------------------------------------------------------
* | grammarID |id: domain asr
* | ------------- |-----------------------------------------------------------
* | asr_audio_path|:
* | | Documents/()
* | | nil
* | ------------- |-----------------------------------------------------------
* | params |:
* | ------------- |-----------------------------------------------------------
*
*/
/*!
*
*
* (key)
*
* | | |
* |-----------------|-------------------------------------------------------|
* | domain | : :iatsearchvideopoimusicasr<br>iat<br>search<br>video<br>asr;|
* | vad_bos | : ms<br>engine指定iat识别默认值为5000<br> 4000 0-10000|
* | vad_eos | : ,,:ms;<br>sms 1800;<br> 700 0-10000|
* | sample_rate | : 16000 8000|
* | asr_ptt | : 1 0 |
* | result_type | : jsonxmlplainjson|
* | grammarID | id: domain asr|
* | asr_audio_path | : <br>Documents/()<br>nil|
* | params | : |
*
* @param value
* @param key
*
* @return YESNO
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
*
*
* @param audioData
*
* @return YESNO
*/
- (BOOL) writeAudio:(NSData *) audioData;
/*!
*
*
* @return YESNO
*/
- (BOOL) destroy;
@end

View File

@ -0,0 +1,184 @@
//
// IFlySpeechUtility.h
// MSCDemo
//
// Created by admin on 14-5-7.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#define iOS_EXCLUSIVE //iOS平台独占API
@class IFlySpeechError;
/*!
*
*/
typedef NS_ENUM(NSUInteger,IFlyEngineMode){
/*!
* 使MSC使
*/
IFlyEngineModeAuto = 0,
/*!
* 使MSC
*/
IFlyEngineModeMsc,
/*!
* 使(使
*/
IFlyEngineModePlus,
};
/*!
*
*/
typedef NS_ENUM(NSUInteger,IFlySpeechPlusServiceType){
/*!
*
*/
IFlySpeechPlusServiceTypeNone=0,
/*!
*
*/
IFlySpeechPlusServiceTypeTTS,
/*!
*
*/
IFlySpeechPlusServiceTypeISR,
/*!
*
*/
IFlySpeechPlusServiceTypeIVW,
} ;
/*! 语记返回回调
*/
@protocol IFlySpeechplusDelegate <NSObject>
/*!
*
*
* @param errorCode
*/
- (void)onCompleted:(int)errorCode;
/*!
*
*/
- (void)onCompleted;
@end
/*!
*
*/
@interface IFlySpeechUtility : NSObject
/*!
* <br>
* <br>
* http://www.xfyun.cn
*
* @param params appid参数传入appid=123456
*
* @return
*/
+ (IFlySpeechUtility*) createUtility:(NSString *) params;
/*!
*
*
* @return YES,NO
*/
+(BOOL) destroy;
/*!
*
*
* @return
*/
+(IFlySpeechUtility *) getUtility;
/*!
* MSC引擎的状态参数
*
* @param value
* @param key
*
* @return YES,NO
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
* MSC引擎状态参数
*
* @param key
*
* @return
*/
- (NSString *)parameterForKey:(NSString *)key;
/*!
*
*/
@property (nonatomic, readonly) IFlyEngineMode engineMode;
/*!
*
*/
@property (nonatomic, assign) id<IFlySpeechplusDelegate> delegate;
@end
/*!
*
*/
@interface IFlySpeechUtility (SpeechPlus)
/*!
*
*
* @return YESNO
*/
+ (BOOL)checkServiceInstalled;
/*!
* 使<br>
* [[UIApplication sharedApplication] openUrl:]
*
* @return App Store下载地址
*/
+ (NSString *)componentUrl;
/*!
* 使<br>
* 使URL启动第三方应用程序时传递的数据<br>
* application:openURL:sourceApplication:annotation:application:handleOpenURL中调用
*
* @param url URL
*
* @return YESNO
*/
- (BOOL)handleOpenURL:(NSURL *)url iOS_EXCLUSIVE;
/*!
* 0
*
* @param serviceType
*
* @return YESNO
*/
- (BOOL)openSpeechPlus:(IFlySpeechPlusServiceType)serviceType iOS_EXCLUSIVE;
@end

View File

@ -0,0 +1,57 @@
//
// TextUnderstand.h
// MSCDemo
//
// Created by iflytek on 4/24/14.
// Copyright (c) 2014 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
/*!
*
*
* @param result
* @param error
*/
typedef void(^IFlyUnderstandTextCompletionHandler)(NSString* result, IFlySpeechError * error);
/*!
*
*/
@interface IFlyTextUnderstander : NSObject
/*!
*
*/
@property (readonly, atomic) __block BOOL isUnderstanding;
/*!
* <br>
*
*
* @param text
* @param completionHandler
*
* @return
*/
-(int) understandText:(NSString*)text withCompletionHandler:(IFlyUnderstandTextCompletionHandler) completionHandler;
/*!
*
*
* @param value
* @param key
*
* @return YESNO
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
*
*/
-(void)cancel;
@end

View File

@ -0,0 +1,74 @@
//
// IFlyUserWords.h
// MSC
//
// Created by ypzhao on 13-2-26.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
*
* (iat).
*/
@interface IFlyUserWords : NSObject
/*!
*
*
*
* <pre><code>{\"userword\":[{\"name\":\"iflytek\",\"words\":[\"科大讯飞\",
* \"云平台\",\"用户词条\",\"开始上传词条\"]}]}</code></pre>
*
* @param json
*
* @return IFlyUserWords对象
*/
- (id) initWithJson:(NSString *)json;
/*!
*
*
* @return nil
*/
- (NSString *) toString;
/*!
* key对应的数据
*
* @param key putword:value中设置的key
*
* @return key对应的数组
*/
- (NSArray *) getWords: (NSString *) key;
/*!
*
*
* @param key key
* @param value
*
* @return YES,NO
*/
- (BOOL) putWord: (NSString *) key value:(NSString *)value;
/*!
*
*
* @param key key
* @param words
*
* @return YES,NO
*/
- (BOOL) putwords: (NSString *) key words:(NSArray *)words;
/*!
* key对应的用户词数据
*
* @param key key
*
* @return YES,NO
*/
- (BOOL) containsKey: (NSString *) key;
@end

View File

@ -0,0 +1,39 @@
//
// IFlyVerifierUtil.h
// IFlyMSC
//
// Created by 张剑 on 15/4/28.
// Copyright (c) 2015年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
/**
*
*/
@interface IFlyVerifierUtil : NSObject
#pragma mark - ISV
/**
* 125
*
* @param length
*
* @return
*/
+(NSString*)generateNumberPassword:(int)length;
#pragma mark - Face
/**
* ARGB彩图转灰度图Detector和Alignment需要灰度图的输入
*
* @param sourceImage ARGB彩图
*
* @return
*/
+ (UIImage*)ARGBToGray:(UIImage*)sourceImage;
@end

View File

@ -0,0 +1,83 @@
//
// IFlyVoiceWakeuper.h
// wakeup
//
// Created by admin on 14-3-18.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlyVoiceWakeuperDelegate.h"
#define IFLY_AUDIO_SOURCE_MIC @"1"
#define IFLY_AUDIO_SOURCE_STREAM @"-1"
/*!
*
*/
@interface IFlyVoiceWakeuper : NSObject
/*!
*
*/
@property (nonatomic, assign) id<IFlyVoiceWakeuperDelegate> delegate;
/*!
*
*/
@property (nonatomic, readonly) BOOL isListening;
/*!
*
*/
+ (instancetype) sharedInstance;
/*!
*
* :YES NO
*/
-(BOOL) startListening;
/*!
*
*/
-(BOOL) stopListening;
/*!
*
*/
-(BOOL) cancel;
/*!
*
*/
-(NSString*) getParameter:(NSString *)key;
/*!
* <br>
*
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
@end
/*!
* <br>
*
*/
@interface IFlyVoiceWakeuper(IFlyStreamVoiceWakeuper)
/*!
*
*
* @param audioData
*
* @return YESNO
*/
- (BOOL) writeAudio:(NSData *) audioData;
@end

View File

@ -0,0 +1,60 @@
//
// IFlyVoiceWakeuperDel.h
// wakeup
//
// Created by admin on 14-3-18.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
@class IFlySpeechError;
@protocol IFlyVoiceWakeuperDelegate <NSObject>
@optional
/*!
*
*/
-(void) onBeginOfSpeech;
/*!
*
*/
-(void) onEndOfSpeech;
/*!
*
*
* @param errorCode
*/
- (void) onCompleted:(IFlySpeechError *) error;
/*!
*
*
* @param resultDic
*/
-(void) onResult:(NSMutableDictionary *)resultDic;
/*!
*
*
* @param volume
*/
- (void) onVolumeChanged: (int)volume;
/*!
* <br>
*
*
@param eventType IFlySpeechEvent枚举
*/
- (void) onEvent:(int)eventType isLast:(BOOL)isLast arg1:(int)arg1 data:(NSMutableDictionary *)eventData;
@end

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1011 B

View File

@ -0,0 +1 @@
!function(){if(!window.AlipayJSBridge){window.alipayjsbridgeSetTitle=function(e){document.title=e,t("alipayjsbridge://setTitle?title="+encodeURIComponent(e))},window.alipayjsbridgeRefresh=function(){t("alipayjsbridge://onRefresh?")},window.alipayjsbridgeBack=function(){t("alipayjsbridge://onBack?")},window.alipayjsbridgeExit=function(e){t("alipayjsbridge://onExit?bsucc="+e)},window.alipayjsbridgeShowBackButton=function(e){t("alipayjsbridge://showBackButton?bshow="+e)},window.AlipayJSBridge={version:"2.0",addListener:function(e,i){a[e]=i},hasListener:function(e){if(!a[e])return!1;return!0},callListener:function(e,i,n){var t;n&&(t=function(e){var i="";e&&(i=encodeURIComponent(JSON.stringify(e)));var a="func=h5JsFuncCallback&cbId="+n+"&data="+i;o(a)});var r=a[e];r?r(i,t):console.log("AlipayJSBridge: no h5JsFunc ",e+i)},callNativeFunc:function(e,a,t){var r="";t&&(r="cb_"+i+++"_"+(new Date).getTime(),n[r]=t);var d="";a&&(d=encodeURIComponent(JSON.stringify(a)));o("func="+e+"&cbId="+r+"&data="+d)},callBackFromNativeFunc:function(e,i){var a=n[e];a&&(a(i),delete n[i])}};var e,i=1,n={},a={};window.CustomEvent?e=new CustomEvent("alipayjsbridgeready"):(e=document.createEvent("Event")).initEvent("alipayjsbridgeready",!0,!0),document.dispatchEvent(e),setTimeout(function(){if(window.AlipayJSBridgeInitArray){var e=window.AlipayJSBridgeInitArray;delete window.AlipayJSBridgeInitArray;for(var i=0;i<e.length;i++)try{e[i](AlipayJSBridge)}catch(e){setTimeout(function(){throw e})}}},0)}function t(e){window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.MQPJSBridgeScheme&&window.webkit.messageHandlers.MQPJSBridgeScheme.postMessage&&window.webkit.messageHandlers.MQPJSBridgeScheme.postMessage(e)}function o(e){t("alipayjsbridge://callNativeFunc?"+e)}}();

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,56 @@
//
// AFServiceCenter.h
// AFServiceSDK
//
// Created by jiajunchen on 02/01/2018.
// Copyright © 2018 antfin. All rights reserved.
//
#import <Foundation/Foundation.h>
@class AFServiceResponse;
/**
SDK支持的业务枚举值
- AFServiceEInvoice:
- AFServiceAuth:
*/
typedef NS_ENUM(NSUInteger, AFService) {
AFServiceEInvoice,
AFServiceAuth,
AFServiceDeduct
};
extern NSString * const kAFServiceOptionBizParams; // 钱包服务调用入参
extern NSString * const kAFServiceOptionCallbackScheme; // 业务回跳当前app的scheme
extern NSString * const kAFServiceOptionNotUseLanding; // 不使用支付宝提示下载页做补偿,为true时需要商户自己处理用户未安装支付宝的情况
extern NSString * const kAFServiceBizParamsKeyUrl; // 独立签约入参url
typedef void(^AFServiceResultBlock)(AFServiceResponse *response);
@interface AFServiceCenter : NSObject
/**
@param service service, AFService枚举值
@param params Dictionary, key值详情参见kAFServiceOptionBizParamskAFServiceOptionCallbackScheme注释
@param block block, block参数是AFServiceResponse类型result属性获取,kAFServiceOptionNotUseLanding未设置为true,使H5landing页做补偿,block回调结果
*/
+ (void)callService:(AFService)service
withParams:(NSDictionary *)params
andCompletion:(AFServiceResultBlock)block;
/**
APP的URL
@param url URL
@param block blockblockblock只有在跳转钱包后,APP被系统回收的情况下回跳才生效
*/
+ (void)handleResponseURL:(NSURL *)url
withCompletion:(AFServiceResultBlock)block;
@end

View File

@ -0,0 +1,43 @@
//
// AFServiceResponse.h
// AFServiceSDK
//
// Created by jiajunchen on 08/01/2018.
// Copyright © 2018 antfin. All rights reserved.
//
#import <Foundation/Foundation.h>
/**
- AFResSuccess: result字段
- AFResInvalidService: service枚举值错误
- AFResInvalidURL: URL错误
- AFResRepeatCall: 3s内
- AFResOpenURLErr:
*/
typedef NS_ENUM(NSUInteger, AFResCode) {
AFResSuccess = 0,
AFResInvalidService = 100,
AFResInvalidURL,
AFResRepeatCall,
AFResOpenURLErr,
};
@interface AFServiceResponse : NSObject
/**
*/
@property (nonatomic, assign) AFResCode responseCode;
/**
Dictionary,
*/
@property (readonly) NSDictionary *result;
@end

View File

@ -0,0 +1,33 @@
//
// APAuthInfo.h
// APAuth
//
// Created by antfin on 17-10-24.
// Copyright (c) 2017年 AntFin. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface APayAuthInfo : NSObject
@property(nonatomic, copy)NSString *appID;
@property(nonatomic, copy)NSString *pid;
@property(nonatomic, copy)NSString *redirectUri;
/**
* AuthInfo
*
* @param appIDStr ID
* @param pidStr ID
* @param uriStr alidemo://auth
*
* @return authinfo实例
*/
- (id)initWithAppID:(NSString *)appIDStr
pid:(NSString *)pidStr
redirectUri:(NSString *)uriStr;
- (NSString *)description;
- (NSString *)wapDescription;
@end

View File

@ -0,0 +1,246 @@
//
// AlipaySDK.h
// AlipaySDK
//
// Created by antfin on 17-10-24.
// Copyright (c) 2017年 AntFin. All rights reserved.
//
////////////////////////////////////////////////////////
///////////////// 支付宝标准版本支付SDK ///////////////////
///////// version:15.8.18 modify:2024.04.08///////////
////////////////////////////////////////////////////////
#import <UIKit/UIKit.h>
#import "APayAuthInfo.h"
#import "AFServiceCenter.h"
#import "AFServiceResponse.h"
typedef void(^CompletionBlock)(NSDictionary *resultDic);
typedef enum {
ALIPAY_TIDFACTOR_IMEI,
ALIPAY_TIDFACTOR_IMSI,
ALIPAY_TIDFACTOR_TID,
ALIPAY_TIDFACTOR_CLIENTKEY,
ALIPAY_TIDFACTOR_VIMEI,
ALIPAY_TIDFACTOR_VIMSI,
ALIPAY_TIDFACTOR_CLIENTID,
ALIPAY_TIDFACTOR_APDID,
ALIPAY_TIDFACTOR_MAX
} AlipayTidFactor;
@interface AlipaySDK : NSObject
/**
*
*
* @return
*/
+ (AlipaySDK *)defaultService;
/**
* SDK使用的windowwindow无需设置此接口
*/
@property (nonatomic, weak) UIWindow *targetWindow;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝支付相关接口/////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/**
*
*
* @param orderStr
* @param schemeStr app注册在info.plist中的scheme
* @param completionBlock Blockwap支付结果回调,processOrderWithPaymentResult接口的completionBlock为nil时会使用这个bolock
*/
- (void)payOrder:(NSString *)orderStr
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
/**
* v2
*
* @param orderStr
* @param dynamicLaunch 使
* @param schemeStr app注册在info.plist中的scheme
* @param completionBlock Blockwap支付结果回调
processOrderWithPaymentResult接口的completionBlock为nil时会使用这个bolock
*/
- (void)payOrder:(NSString *)orderStr
dynamicLaunch:(BOOL)dynamicLaunch
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
/**
* app支付后跳回商户app携带的支付结果Url
*
* @param resultUrl app返回的支付结果url
* @param completionBlock nil时默认使用支付接口的completionBlock
*/
- (void)processOrderWithPaymentResult:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock;
/**
* UniversalLink支付接口使用该接口
*
* @param orderStr
* @param schemeStr app注册在info.plist中的scheme
* @param universalLink app关联的universalLink,'https://render.alipay.com/'
* @param completionBlock Blockwap支付结果回调,processOrderWithPaymentResult接口的completionBlock为nil时会使用这个bolock
*/
- (void) payOrder:(NSString *)orderStr
fromScheme:(NSString *)schemeStr
fromUniversalLink:(NSString *)universalLink
callback:(CompletionBlock)completionBlock;
/**
* app支付后通过universalLink跳回商户app携带的支付结果处理
*
* @param userActivity userActivity
* @param completionBlock nil时默认使用支付接口的completionBlock
*/
- (void)handleOpenUniversalLink:(NSUserActivity *)userActivity standbyCallback:(CompletionBlock)completionBlock;
/**
* token
*
* @return token
*/
- (NSString *)fetchTradeToken;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝授权 2.0 相关接口////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/**
* 2.0
*
* @param infoStr
* @param schemeStr app注册在info.plist中的scheme
* @param completionBlock appDelegate中调用processAuth_V2Result:standbyCallback:
* ,block无效('processAuth_V2Result:standbyCallback:'standbyCallback)
*/
- (void)auth_V2WithInfo:(NSString *)infoStr
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
/**
* app授权后跳回商户app携带的授权结果Url
*
* @param resultUrl app返回的授权结果url
* @param completionBlock ,APP被系统终止的情况
*/
- (void)processAuth_V2Result:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝授权 1.0 相关接口////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/**
*
* @param authInfo
* @param completionBlock block无效
appDelegate中调用processAuth_V2Result:standbyCallback:
*/
- (void)authWithInfo:(APayAuthInfo *)authInfo
callback:(CompletionBlock)completionBlock;
/**
* app授权后跳回商户app携带的授权结果Url
*
* @param resultUrl app返回的授权结果url
* @param completionBlock
*/
- (void)processAuthResult:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝 h5 支付转 native 支付接口////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/**
* h5链接中获取订单串并支付接口15.4.0使
*
* @param urlStr url string
*
* @return YES为成功获取订单信息并发起支付流程NO为无法获取订单信息url是普通url
*/
- (BOOL)payInterceptorWithUrl:(NSString *)urlStr
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝 tid 相关信息获取接口/////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/**
* tid相关信息
*
* @return tid相关信息
*/
- (NSString*)queryTidFactor:(AlipayTidFactor)factor;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝支付环境相关信息接口//////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/**
* 使
*
* @return YES为已经使用过NO反之
*/
- (BOOL)isLogined;
/**
*
*
* @return
*/
- (NSString *)currentVersion;
/**
* realse包无效
*
* @param url
*/
- (void)setUrl:(NSString *)url;
/**
*
*
* @param block
*/
- (void)fetchSdkConfigWithBlock:(void(^)(BOOL success))block;
typedef void(^APLogBlock)(NSString *log);
/**
* AlipaySDK的log信息
*
* @param logBlock log的回调block
*/
+ (void)startLogWithBlock:(APLogBlock)logBlock;
/**
* log,logBlock
*
*
*/
+ (void)stopLog;
@end

View File

@ -0,0 +1,17 @@
//
// AlipaySDKModule.h
// AlipaySDK
//
// Created by mingsheng on 2023/11/14.
// Copyright © 2023 Alipay. All rights reserved.
//
#ifndef AlipaySDKModule_h
#define AlipaySDKModule_h
#import "AlipaySDK.h"
#import "APayAuthInfo.h"
#import "AFServiceCenter.h"
#import "AFServiceResponse.h"
#endif /* AlipaySDKModule_h */

View File

@ -0,0 +1,14 @@
//
// AlipaySDK.modulemap
// AlipaySDK
//
// Created by mingsheng on 2023/11/14.
// Copyright © 2023 Alipay. All rights reserved.
//
framework module AlipaySDK {
umbrella header "AlipaySDKModule.h"
export *
module * { export * }
}

View File

@ -27,8 +27,14 @@ NS_ASSUME_NONNULL_BEGIN
#define WeiXinStringPay @"5b6u5L+h5pSv5LuY"
#define ZhiFuBaoStringPay @"5pSv5LuY5a6d5pSv5LuY"
/// 个推开发者网站中申请App时注册的AppId、AppKey、AppSecret
#define kGtAppId @"bgxjUoVnGE65VaJLpy40T6"
#define kGtAppKey @"o20R2nHKevAixnfCD66ZO9"
#define kGtAppSecret @"FjOHLjio6GAGnOl3rphtt4"
///讯飞appid
#define XunFeiAppId @"a26724a7"
//网络请求数据回调block
#define SAFE_BLOCK_CALL_NO_P(b) (b == nil ?: b())
@ -103,7 +109,15 @@ alpha:alphaValue]
///设备uuid
#define UserIDFA @"UserIDFA"
///登录账号弹窗
#define DengluZhangHaoTanChuang @"DengluZhangHaoTanChuang"
///隐私协议
#define UserYinSiUrl @""
#define UserXieUrl @""
///微信登录通知
#define WeiXinDengLuSQ @"WeiXinDengLuSQ"
@end

View File

@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>GT_MinimumOSVersion</key>
<integer>11</integer>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
@ -11,6 +13,36 @@
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>id6.me</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
<key>mdn.open.wo.cn</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
<key>wap.cmpassport.com</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
<key>UIAppFonts</key>
<array>

View File

@ -40,4 +40,7 @@
#import "UIImageView+PWebCache.h"
#import "PGJUILabel.h"
#import "ViewLable.h"
#import "LoadAlterView.h"
#endif /* PrefixHeader_pch */

View File

@ -21,6 +21,12 @@
@property (nonatomic , strong) UIButton *btsend;
@property (nonatomic , strong) UIButton *btyuyin ;
///
@property (nonatomic , strong) AIChatYuYinView *viewYy;
///
@property (nonatomic , assign) NSInteger starttime;
@end
@implementation AIChatBottomView
@ -134,6 +140,14 @@
[btyuyin addTarget:self action:@selector(yuyinDownAction) forControlEvents:UIControlEventTouchDown];
[btyuyin addTarget:self action:@selector(yuyinUpAction) forControlEvents:UIControlEventTouchUpInside];
[btyuyin addTarget:self action:@selector(yuyinUpAction) forControlEvents:UIControlEventTouchCancel];
[btyuyin addTarget:self action:@selector(yuyinUpAction) forControlEvents:UIControlEventTouchUpOutside];
[btyuyin addTarget:self action:@selector(yuyinInAction) forControlEvents:UIControlEventTouchDragInside];
[btyuyin addTarget:self action:@selector(yuyinChangeAction) forControlEvents:UIControlEventTouchDragOutside];
[btyuyin setHidden:YES];
_btyuyin = btyuyin;
}
@ -144,11 +158,37 @@
{
AIChatYuYinView *view = [[AIChatYuYinView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];;
[self.viewController.view.window addSubview:view];
_viewYy = view;
NSLog(@"按下");
self.starttime = [[Tools getCurrentTime:@"yyyyMMddHHmmss"] integerValue];
}
-(void)yuyinUpAction
{
NSLog(@"放开");
if(self.viewYy.type==1)
{
[self.viewYy removeAllInfo];
[self.viewYy removeFromSuperview];
}
else
{
self.viewYy.isbtend = YES;
NSInteger end = [[Tools getCurrentTime:@"yyyyMMddHHmmss"] integerValue];
if(end-self.starttime<=0)
{
[self.viewYy removeAllInfo];
[self.viewYy removeFromSuperview];
[HXHud showMessage:@"录音时间太短" afterDelayType:0];
}
}
}
-(void)yuyinChangeAction
{
self.viewYy.type=1;
}
-(void)yuyinInAction
{
self.viewYy.type=0;
}
-(void)inputAction:(UIButton *)sender

View File

@ -11,6 +11,12 @@ NS_ASSUME_NONNULL_BEGIN
@interface AIChatYuYinView : UIView
@property (nonatomic , assign) int type;
@property (nonatomic , assign) BOOL isbtend;
-(void)removeAllInfo;
@end
NS_ASSUME_NONNULL_END

View File

@ -7,20 +7,34 @@
#import "AIChatYuYinView.h"
#import "AIChatYuYinBackView.h"
#import "IFlyMSC/IFlyMSC.h"
@interface AIChatYuYinView ()
@interface AIChatYuYinView ()<IFlySpeechRecognizerDelegate>
///
@property (nonatomic , strong) UIButton *btok;
@property (nonatomic , strong) UIButton *btcancle;
@property (nonatomic , assign) BOOL iseyend;
///
@property (nonatomic , strong) AIChatYuYinBackView *viewback;
///
@property (nonatomic , strong) UITextView *textview;
//
@property (nonatomic, strong) IFlySpeechRecognizer *iFlySpeechRecognizer;
///
@property (nonatomic , strong) NSMutableString *strshibie;
@end
@implementation AIChatYuYinView
-(void)removeAllInfo
{
[self.iFlySpeechRecognizer stopListening];
[self.iFlySpeechRecognizer cancel];
}
-(id)initWithFrame:(CGRect)frame
{
if(self = [super initWithFrame:frame])
@ -36,6 +50,7 @@
make.width.height.offset(70);
}];
[btcancle addTarget:self action:@selector(cancleAction) forControlEvents:UIControlEventTouchUpInside];
_btcancle = btcancle;
UIButton *btok = [[UIButton alloc] init];
[btok setImage:[UIImage imageNamed:@"ai_yuyin_ok"] forState:UIControlStateNormal];
@ -45,6 +60,7 @@
make.centerY.equalTo(btcancle);
make.width.height.offset(90);
}];
[btok setHidden:YES];
[btok addTarget:self action:@selector(okAction) forControlEvents:UIControlEventTouchUpInside];
_btok = btok;
@ -74,6 +90,7 @@
}];
_textview = textview;
[self startYuYIn];
}
return self;
}
@ -106,6 +123,24 @@
}
-(void)setType:(int)type
{
_type = type;
if(type==1)
{
[self.btcancle mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.height.offset(90);
}];
[self.btcancle setImage:[UIImage imageNamed:@"ai_yuyin_bai"] forState:UIControlStateNormal];
}
else
{
[self.btcancle mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.height.offset(70);
}];
[self.btcancle setImage:[UIImage imageNamed:@"ai_yuyin_x"] forState:UIControlStateNormal];
}
}
-(void)cancleAction
{
@ -113,10 +148,78 @@
}
-(void)okAction
{
[self noinfo];
// [self noinfo];
// self.textview.text = @"测试";
}
-(void)startYuYIn
{
self.strshibie = [[NSMutableString alloc] init];
//
_iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance];
//
//
[_iFlySpeechRecognizer setParameter: @"iat" forKey: [IFlySpeechConstant IFLY_DOMAIN]];
//asr_audio_path valuenilLibrary/cache
[_iFlySpeechRecognizer setParameter:@"iat.pcm" forKey:[IFlySpeechConstant ASR_AUDIO_PATH]];
[_iFlySpeechRecognizer setDelegate:self];
//
[_iFlySpeechRecognizer startListening];
}
#pragma mark -//IFlySpeechRecognizerDelegate
//
- (void) onResults:(NSArray *) results isLast:(BOOL)isLast{
// NSLog(@"%@",results);
for(NSDictionary *dicvalue in results)
{
NSArray *arrkeys = [dicvalue allKeys];
for(NSString *strkey in arrkeys)
{
NSDictionary *dicitem = [NSJSONSerialization JSONObjectWithData:[strkey dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil];
NSArray *arr = [dicitem objectForKey:@"ws"];
for(NSDictionary *dic in arr)
{
NSArray *arrcw = [dic objectForKey:@"cw"];
for(NSDictionary *dicson in arrcw)
{
[self.strshibie appendString:[dicson objectForKey:@"w"]];
}
}
}
}
self.textview.text = self.strshibie;
}
//
- (void)onCompleted: (IFlySpeechError *) error{
NSLog(@"识别会话结束返回代理");
self.iseyend = YES;
if(self.isbtend && self.strshibie.length==0)
{
[self noinfo];
}
if(self.strshibie.length>0&&self.isbtend)
{
[self.btok setHidden:NO];
}
}
//
- (void) onEndOfSpeech{
}
//
- (void) onBeginOfSpeech{
}
//
- (void) onVolumeChanged: (int)volume{
}
//
- (void) onCancel{
}
@end

Some files were not shown because too many files have changed in this diff Show More