我正在尝试使用ParseFacebookUtilsv4和FacebookSDK v4.经过多次试验,我已设法将错误减少到1.
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Parse.setApplicationId("###",
clientKey: "###")
PFFacebookUtils.initializeFacebookWithLaunchOptions(launchOptions)
}
Run Code Online (Sandbox Code Playgroud)
在这部分中,这是完全从Parse的iOS Docs - Facebook Setup(昨天为FBSDKv4更新)复制的,我收到一个错误:
'PFFacebookUtils.Type' does not have a member named 'initializeFacebookWithLaunchOptions'
Run Code Online (Sandbox Code Playgroud)
当我检查ParseFacebookUtilsv4的完整文档时,它说〜警告:此类支持官方Facebook iOS SDK v4.0 +,仅在iOS上可用.〜,我看到没有任何名为'initializeFacebookWithLaunchOptions'的类; 相反,有'initializeFacebookWithApplicationLaunchOptions:'
但是,当我将AppDelegate.swift/didFinishLaunchingWithOptions部分更改为:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Parse.setApplicationId("###",
clientKey: "###")
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
}
Run Code Online (Sandbox Code Playgroud)
...我得到一个错误,上面写着'在预期返回'Bool'的函数中错过了返回.然后我尝试添加两者
return true /* AND */ return false // at the end of the function;
Run Code Online (Sandbox Code Playgroud)
...我遇到了9次崩溃,例如:i.stack.imgur.com/o989R.png
我完全陷入困境,不知道如何解决这个问题.
facebook ios parse-platform facebook-sdk-4.0 parsefacebookutils
我设置了解析云代码并且工作得很好.我正在寻找一种方法来运行aftersave云代码只有在某些属性被修改.可能吗 ?
当没有互联网连接时,我可以使用最终保存在本地存储数据.但是在恢复互联网连接后,应用程序可以自动上传数据吗?如果没有,我怎样才能将其上传到云端?这是我的代码.thx提前.
//parse
var moment2:PFObject = PFObject(className: "e_Moments")
moment2["Location"] = locationTextField.text
moment2["FullName"] = nameTextField.text
moment2["Company"] = typeTextField.text
moment2["thoughts"] = thoughtsTextField.text
let image = UIImagePNGRepresentation(imageView.image)
let imageFile = PFFile(data: image)
moment2["Image"] = imageFile
moment2.saveEventually() //save offline
moment2.saveInBackground()//save object
Run Code Online (Sandbox Code Playgroud) 我试图在Android上开始使用Parse推送通知,但我找不到任何方法来实现我自己的BroadcastReceiver,它会执行响应推送通知的操作.
在他们的"入门"中,他们给出了一个程序示例,其中接收器和intent服务包含在jar文件中(并且未在代码中实现,因此我可以尝试使用它).这里也提出了类似的问题,但它已经两年了,答案有11个问题.
还有一些其他的博客文章,例如在这里,但没有一个正常工作(该链接中的一个是两年).
所以请建议一步一步地实施同样的方法.
编辑:
我按照droidx的建议尝试了代码.但它不起作用.我正在发送我的AndroidManifest.xml(其余代码完全按照他的建议):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rahulserver.parsenotificationdemo" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!--
IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
to match your app's package name + ".permission.C2D_MESSAGE".
-->
<permission android:protectionLevel="signature"
android:name="com.rahulserver.parsenotificationdemo.permission.C2D_MESSAGE" />
<uses-permission android:name="com.rahulserver.parsenotificationdemo.permission.C2D_MESSAGE" />
<application
android:name=".ParseNotification"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category …Run Code Online (Sandbox Code Playgroud) 当用户在我的IOS应用程序上创建帐户时,我想要发送给他的自动"谢谢"电子邮件,我该怎么做?我看到一家名为mailgun.com的公司,但他们不支持swift.Parse支持这个吗?我该怎么办?
如果parse支持此功能,请提供有关如何进行此设置的链接.这是我将使用的代码.
self.loginComplete("example@example.com")
func loginComplete(Email:String) {
\\send automatic email to the user.
}
Run Code Online (Sandbox Code Playgroud) 我一直试图解决这个问题.我一直致力于离子+解析登录,注册,忘记密码应用程序.据说Ionic是前端而parse.com是数据库.
当从命令行使用Ionic服务时,这些功能完全可以从web broswer中的本地主机工作,但是当我为Android(离子构建android)或模拟(离子模拟android)构建应用程序或在Android设备上测试它时,我得到了一个错误消息范围:
当我尝试登录时; 发生意外错误,请再试一次
当我尝试重置密码时; 发生意外错误,请再试一次
当我尝试注册时,我显示以下错误消息:
XMLHttpRequest失败:{statusText":Not Found","status :: 404","responseURL":https://api.parse.com/1/users","response":""resp onseType":""." responseXML的":空," responseText的":"", "上传":{loadend ":空"的onload ":空," onprogress ":空," onloadstart ":空," onloadend ":空,:onload事件":空"的onerror":空"onabort":NULL} "withCredentials":假"的readyState":4 "超时":0, "ontimeout":NULL, "onprogress":NULL, "onloadstart":空,: onloadend ":空"的onload ":空"的onerror ":空,:onabort":空}
这是我的代码:
注册页面:模板文件夹
<ion-view title="Register">
<ion-content has-header="true" has-tabs="true" padding="true">
<div class="list">
<label class="item item-input">
<input type="email" ng-model="user.email" placeholder="Email">
</label>
<label class="item item-input">
<input type="password" ng-model="user.password" placeholder="Password">
</label>
<label class="item item-input">
<input type="text" ng-model="user.name" placeholder="First Name">
</label>
<label class="item item-input item-stacked-label">
<span class="input-label">Date of Birth</span>
<input …Run Code Online (Sandbox Code Playgroud) 我有objectId ,我想要获取ParseUser具有相同的对象objectId.我已阅读,我们可以使用get来获得ParseUser由id在解析文档,但语法没有给出那里.如果有人知道请帮助我.
我试过这个,但它没有用.
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("objectId", userId);
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> object, ParseException e) {
// TODO Auto-generated method stub
if(e==null)
for(ParseUser obj: object)
{
adress.setText(obj.getString("address"));
contact.setText(obj.getString("contact"));
}
else
{
adress.setText("Not found");
}
}
});
Run Code Online (Sandbox Code Playgroud) 我试过简单地将一个拖入我的故事板,但我能找到的就是UIImageView.在我的UIImageView的IBOutlet中,我将其更改为PFImageView,我收到一条错误消息:"使用未声明的类型:'PFImageView'"
PFImageViews在swift中根本不存在吗?
我使用解析作为云存储,结合本地数据存储进行一般访问.我发现查询本地数据存储需要的时间比我预期的要长很多.使用数据填充表或更新图形视图时,这一点尤其明显.coredata中的等效函数几乎是瞬时的,结果非常好.虽然我不期望coredata的性能,但它比我预期的离线访问慢得多,我想知道我做错了什么?
这是一个示例查询:
PFQuery *query = [PFQuery queryWithClassName:LOCATION_OBJECT];
[query fromLocalDatastore];
[query whereKey:MESSAGE_TO_FIELD equalTo:user.username];
[query orderByDescending:CREATED_FIELD];
NSLog(@"Query started");
NSArray* res = [query findObjects];
NSLog(@"Query finished, found %lu objects", (unsigned long)[res count]);
Run Code Online (Sandbox Code Playgroud)
在2015 iPad mini上执行我看到的时间如下:
2015-06-16 18:56:38.883 app[1744:1668474] Query started
2015-06-16 18:56:38.885 app[1744:1668474] Warning: A long-running operation is being executed on the main thread.
Break on warnBlockingOperationOnMainThread() to debug.
2015-06-16 18:56:39.177 app[1744:1668474] Query finished, found 17 objects
Run Code Online (Sandbox Code Playgroud)
我确实理解Parse提供的不仅仅是一个数据库,不过这个查询需要0.292秒,这似乎是一个时代.对于我的应用程序,当用户在屏幕上导航时,我会经常使用这种操作.使用coredata,结果非常好,Parse的延迟非常明显.值得一提的是,模拟器上的结果相似.当你做这类事情时警告解析问题并不令人鼓舞,但无论如何,我的问题有两个:
1)我是否错过了Parse中的任何性能调整/设置?2)是否有其他使用过Parse的人发现了类似的表现或有任何建议?
在这一点上,看起来我需要在应用程序中使用coredata并编写我自己的例程来将数据推送到Parse的云,这比我希望的要多得多.
谢谢你的时间.
更新30Jun15
感谢您的评论,根据这些评论,以下是Parse希望您这样做的示例表现.和以前一样,与coredata相比,性能仍然很差.示例代码:
PFQuery *query = [PFQuery queryWithClassName:LOCATION_OBJECT];
[query fromLocalDatastore];
[query whereKey:MESSAGE_TO_FIELD equalTo:user.username]; …Run Code Online (Sandbox Code Playgroud) Process: com.josephvarkey996gmail.test1, PID: 3348
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.josephvarkey996gmail.test1/com.josephvarkey996gmail.test1.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File com.parse.ParsePlugins.getParseDir()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File com.parse.ParsePlugins.getParseDir()' on a null object reference
at com.parse.Parse.getParseDir(Parse.java:304)
at com.parse.ParseObject.getFromDisk(ParseObject.java:667)
at com.parse.ParseUser$10.then(ParseUser.java:1056)
at com.parse.ParseUser$10.then(ParseUser.java:1003)
at bolts.Task$14.run(Task.java:796)
at bolts.BoltsExecutors$ImmediateExecutor.execute(BoltsExecutors.java:105)
at bolts.Task.completeAfterTask(Task.java:787)
at bolts.Task.continueWithTask(Task.java:599)
at bolts.Task.continueWithTask(Task.java:610)
at …Run Code Online (Sandbox Code Playgroud) parse-platform ×10
ios ×5
android ×4
swift ×3
facebook ×1
ionic ×1
javascript ×1
mailgun ×1
pfimageview ×1