我正在尝试在Ionic 2应用程序中使用TouchID。我有iphone 5c,所以无法在真实设备上测试。
我导入了包裹:
import { TouchID } from 'ionic-native';
Run Code Online (Sandbox Code Playgroud)
然后,我测试了第一个功能(我已经在模拟器的硬件部分中激活了touchID):
TouchID.isAvailable()
.then(
res => console.log('TouchID is available!'),
err => console.error('TouchID is not available', err)
);
Run Code Online (Sandbox Code Playgroud)
一切正常。现在我想做的就是测试这个功能:
TouchID.verifyFingerprint('Scan your fingerprint please')
.then(
res => console.log('Ok', res),
err => console.error('Error', err)
);
Run Code Online (Sandbox Code Playgroud)
可以在模拟器上进行测试吗?仿真器可以听指纹动作吗?
每当文本在我的Ionic 2(Angular 2)项目中发生变化时,我都会尝试为值设置动画.这是在Ionic2项目中,但对于任何Angular2都应该是相同的.
我在标记中有以下内容..
<ion-list no-lines>
<ion-item *ngFor="let item of data>
<ion-card [@flyInOut]='cardState'>
<ion-card-content>
<div ><b>{{item.name.description}}</b></div>
<div [@valueUpdated]='item.lastname.description'>{{item.lastname.description}}</div>
<div>{{item.value}}</div>
</ion-card-content>
</ion-card>
</ion-item>
</ion-list>
Run Code Online (Sandbox Code Playgroud)
以及组件中的以下触发器..
trigger('valueUpdated',[
state('void => *',style({
backgroundColor:'red'
})),
state('* => void',style({
backgroundColor:'green'
})),
transition('active => inactive', animate('100ms ease-in')),
transition('inactive => active', animate('100ms ease-out'))
])
Run Code Online (Sandbox Code Playgroud)
我只是在这里使用颜色进行测试,最终我希望它改变颜色(然后改回),或者可能有旧的值"flyout"和新的"flyin"(类似于Angular中的示例)文档.
但是,在此之前,我只是想看看这是否可行.我是动画片的新手,所以也许我正好偏离轨道?
有可能这样做,如果是这样的话怎么样?
任何帮助非常感谢!
[UPDATE]
我已经接近以下内容,使用translateX fot测试而不是颜色变化(因为它更容易看到)...
trigger('valueUpdated', [
state('* => *', style({ transform: 'translateX(0)' })),
transition('* => *', [
animate(2000, style({ transform: 'translateX(100%)' }))
])
]),
Run Code Online (Sandbox Code Playgroud)
当元素第一次添加时,我看到上面的动画translateX发生,但是状态item.name.description改变了,即改变了,div直接射向translateX(100%),然后返回到没有动画的translateX(0)到translateX(100) %),所以仍然不太正确. …
我有一个Ionic 2应用程序调用Spring BootAPI将推送通知发送到其他设备.API使用HTTPS配置.
API POST请求适用于除外的 所有内容iOS.
我在服务器上的SSL证书是自签名的(可能就是这样吗?).
适用于:
这是请求:
public sendNotificationRequest(title: string, action: string, name: string, tokens: any, notifications: boolean) {
// Check if user turned off notifications
if(!notifications) {
return;
}
let headers = new Headers({'Content-Type': 'application/json'});
headers.append('Authorization', 'Basic ' + btoa(this.username_decrypted + ':' + this.password_decrypted));
let body = this.formObj(tokens, title, action, name);
console.log(body);
this.http.post("https://<some-url>",
body, { headers: headers }
).subscribe((response) => {
console.log("HTTPS RESPONSE");
console.log(response);
}, …Run Code Online (Sandbox Code Playgroud) 有时,当服务命令运行时,会出现此错误,并且在几次之后它会自动消失:
我不得不提到这个错误只发生在加载谷歌地图的地图页面上.
Uncaught (in promise): [object PositionError]
Run Code Online (Sandbox Code Playgroud)
我创建Push notification离子2.演示中,我试图生成server key并sender key从火力点.我已经按照本教程.但我无法cloud messaging在我的火力project setting显示屏幕中找到标签,如图所示,并且没有Server key和sender Id.
我需要SENDER ID在我的应用程序中创建推送通知,如下所示,
cordova plugin add phonegap-plugin-push --variable SENDER_ID=12341234 --save
我下载并安装了最新版本的Visual Studio Ionic 2模板,用于Apache Cordova的Visual Studio Tools.我使用的是Visual Studio 2017 Professional.
令我沮丧的是,我发现Cordova的实时重载功能根本不起作用.当我修改HTML时,Cordova Simulate反映这些变化的唯一方法是停止调试并重新部署项目,这需要花费大量时间并使开发工作流程变得非常痛苦.
只要有多个离子项目正在进行,就会出现另一个问题.我发现因为Ionic正在使用相同的端口进行部署,所以当其中一个项目启动时,启动的应用程序会对我要求的应用程序感到困惑,并且经常会显示其他应用而不是我想要的应用.
有任何想法吗?
我想继续使用ParseLiveQuery监视事件,即使启动InAppBrowser也是如此.但我不能.
我注意到,当启动InAppBrowser时,来自Parse服务器的所有事件似乎都被暂停/暂停.
这是一个简化的代码来演示这个问题:
export interface PageInterface {
title: string;
name: string;
component: any;
icon: string;
logsOut?: boolean;
index?: number;
tabName?: string;
tabComponent?: any;
}
@Component({
templateUrl: 'app.template.html'
})
export class ConferenceApp {
@ViewChild(Nav) nav: Nav;
appPages: PageInterface[] = [...];
loggedInPages: PageInterface[] = [...];
rootPage: any;
browser: any;
constructor(
public events: Events,
public userData: UserData,
public menu: MenuController,
public platform: Platform,
public confData: ConferenceData,
public parseData: ParseData,
public storage: Storage,
public splashScreen: SplashScreen,
private iab: InAppBrowser
) {
this.rootPage = TabsPage; …Run Code Online (Sandbox Code Playgroud) parse-platform inappbrowser ionic-framework ionic2 parse-server
你能告诉我下面两种方法的区别是什么吗?我应该在哪一刻使用它?
book.ts
this.app.getRootNav().push('FromBook', { bookId: this.data.id })
this.navCtrl.push('FromBook', { bookId: this.data.id });
Run Code Online (Sandbox Code Playgroud)
当我们使用下面的内部组件时,它有时会起作用.有时它不是.为什么这种不同的行为有上述2种导航方法?
笔者-page.html中
<div>
<book *ngFor="let book of authorData?.books" [data]="book"></book>
</div>
Run Code Online (Sandbox Code Playgroud) 我已经构建了一个Ionic2应用程序并使用
this.platform.exitApp()
Run Code Online (Sandbox Code Playgroud)
在app.component.ts中退出应用程序.
在Android上它运行良好,但在iOS上出现此错误
undefined is not an object (evaluating 'e.navigator.app.exitApp')
Run Code Online (Sandbox Code Playgroud) ionic2 ×10
angular ×4
ios ×2
angularjs ×1
api ×1
emulation ×1
firebase ×1
google-maps ×1
https ×1
inappbrowser ×1
ionic3 ×1
parse-server ×1
spring-boot ×1
touch-id ×1
typescript ×1