我正在使用parse.com进行开发,我将此问题升级到xCode 7.有些Parse框架没有完全正常工作.
我有这个警告:
紧急:所有bitcode都将被删除,因为'/Users/[MY_USER]/Downloads/parse-starter-project-1/ParseStarterProject/Parse.framework/Parse(PFMutableFileState.o)'是在没有bitcode的情况下构建的.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.注意:将来这将是一个错误.
让我提醒一下,Xcode 6的最新版本中一切正常
我想知道如何在XCODE 7中启用Bitcode?
我一直在考虑将Parse.com的服务用于我的后端,但我对它的可扩展性持怀疑态度.
它能真正处理几千个并发用户吗?如果没有,他们有什么好的方式从它过渡?
我正在使用Parse和ParseUI.我希望我的PFLoginViewController子类具有透明背景.将来,我想对背景进行模糊观察.
但是......一旦完成PFLoginViewController的动画制作,背景就变黑了......在动画期间,背景是透明的.
func presentLogin() {
var loginViewController = LoginViewController()
var signupViewController = SignUpViewController()
loginViewController.fields = .UsernameAndPassword | .LogInButton | .PasswordForgotten | .SignUpButton | PFLogInFields.DismissButton
signupViewController.fields = .UsernameAndPassword | .Email | .DismissButton | .SignUpButton
loginViewController.delegate = self
loginViewController.logInView.backgroundColor = UIColor.clearColor()
loginViewController.logInView.opaque = false
signupViewController.delegate = self
loginViewController.signUpController = signupViewController
self.presentViewController(loginViewController, animated: true) { () -> Void in
//
}
}
Run Code Online (Sandbox Code Playgroud)
我的logincontroller使用的子类:
class LoginViewController: PFLogInViewController {
@IBOutlet weak var _nmcLogoLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用带有Swift编程语言的Objective C框架进行iOS 8开发.这是导入的具体情况,但一般问题是:
如何将Objective C框架导入swift并获得导入识别?
我正在尝试使用iOS 8和Xcode 6测试版将Parse框架集成到一个快速的应用程序中.
以下是Objective C中Parse框架集成的技术:
https://www.parse.com/apps/quickstart#social/mobile/ios/native/existing
我已经将Parse框架作为压缩存档下载,解压缩并将其导入Xcode 6而没有任何问题.在我的应用程序中,它显示为名为Parse.framework的格式正确的框架.
我目前的思考过程是修改AppDelegate.swift项目根目录下的文件.这是没有修改的当前文件(在快速项目创建时由Xcode自动生成):
https://gist.github.com/fconcklin/e8ef7d8b056105a04161
我试图通过添加行import Parse下面的行来导入解析import UIKit.但是,Xcode发出警告,表示没有找到这样的模块,并且构建失败.
我还尝试创建一个${PROJ_NAME_HERE}-Bridging-Header.h包含Parse使用的Objective C导入的文件import <Parse/Parse.h>.这条线不会引发错误,但似乎最终没有任何区别.
提前致谢.如果您需要更多信息,请告诉我.
我正在尝试使用Parse在我的iOS应用程序中实现Facebook登录.
let permissionsArray = ["public_profile", "email"]
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissionsArray)
{ (user: PFUser?, error: NSError?) in
if let user = user {
//we logged in!
}
else {
//login error!
}
}
Run Code Online (Sandbox Code Playgroud)
这在模拟器中很有效,但在设备上却不行.在设备上,我收到此错误:
Error Domain = com.facebook.sdk.login Code = 308"无法完成操作.(com.facebook.sdk.login错误308.)
错误代码308用于FBSDKLoginBadChallengeString"登录响应缺少有效的质询字符串".
在我在Facebook上授权我的应用程序之后,这会被调用:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
Run Code Online (Sandbox Code Playgroud)
网址是:
fb1640722449492705://authorize/#state=%7B%22challenge%22%3A%225OKWv3wN%2BEH%2BeQu48Xv6ty%2BRuek%3D%22%2C%22com.facebook.sdk_client_state%22%3Atrue%2C%223_method%22%3A1%2C%220_auth_logger_id%22%3A%22564CD915-2CFC-4989-9AF6-CEA389908D51%22%7D&granted_scopes=user_birthday%2Cpublic_profile&denied_scopes=&signed_request=c8SBBDeaNpF-R_XTYx4LRA0BWm5p9IwXDr8M4nL3YXI.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImNvZGUiOiJBUURhTXJibGw4Q3dITkd5M0xnQmNkVTNuYWRkeEVoTU5mMmx3eFpZU2IwZl9SU284YXhZdXZaRS02RnA2bU5Cdy1CWkVoRmt2Zk1xX1AxSHltUG00aWhkWE9hYmlvWFBiMnpCYkVnR1RRX3lzZVFIZXdHU19OcmpkNUF6WGtob1dfVE4wTmRrSGk5MzY0V2hFWUJDV0dfcE16RXpQVExHWE13X1dzb0QzZGtITm5fM0tHNjFxUjJyM3RDWVlNQTE4WENpS1dXTHUyM2dIRVhmTXc3ZTQ0M2xDQUtGRl9KSXcyVk1sS01FOTQ4dHQ2U1Fqb0tlVkp4RmJNSEFsWDZFYWxlUnQ2aGRrTGZlU2xuVTV5VjZ1bFhldHkxeEV5RmRDZVFHb2RXQ0dULVVCd3QyM0haY0dxNk8zbnE1cDRNWjNFZ012U2JhSGZyMmF6Wm8xUXk2X2xSQVNWcFlMVDZUdU5wZnMwVkJqNEdSaFEiLCJpc3N1ZWRfYXQiOjE0MzM0MTg2MDksInVzZXJfaWQiOiIxNDM3MzM0ODk5OTIwNDA5In0&access_token=CAAXUOnbG6uEBANtAd9DzWBSu4LLOEcPsu86Ny0Ir
是的,我遵循了Parse的Facebook登录指南中的所有内容(确保所有捆绑ID都匹配,实现了所有必需的AppDelegate方法等).
这个错误究竟是什么意思,你如何解决它?
因此,我的任务是使用Parse在应用程序(iOS,Swift)中实现类似"转推"的功能.
这是在此之前被问到的,但这是a)非常高级别的b)我得到了手头的任务 - 我不一定在建筑决策上寻求帮助,但如果看起来我显然错过了什么,我'我乐意接受反馈.
我的应用程序有CAUSES,每个都由USER创建.还有一个带有TO和FROM用户的FOLLOW表.首先,我只是查询CAUSES表,其中发布的USER应该与FOLLOW表中TO用户的objectId(当前用户是FROM用户)匹配.更简洁:
let getFollowedUsersQuery = PFQuery(className: Constants.kParseClassFollowers)
getFollowedUsersQuery.whereKey(Constants.kParseFieldFromUser, equalTo: PFUser.currentUser()!)
let causesQuery = PFQuery(className: Constants.kParseClassCauses)
causesQuery.whereKey(Constants.kParseFieldFromUser, matchesKey: Constants.kParseFieldToUser, inQuery: getFollowedUsersQuery)
causesQuery.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
if let causes = objects {
for cause in causes {
// populate the tableview cells, etc.
}
}
})
Run Code Online (Sandbox Code Playgroud)
现在我有来自用户的所有原因,我遵循...这都是非常标准的.
这是它变得棘手的地方.
每个CAUSE也有一个名为SUPPORTERS的Relation.现在我需要构建一种方法来从我不遵循的人那里获得所有CAUSES,但是在他们的支持者列表中有我关注的用户.
我还没有找到一个优雅的解决方案,虽然我正在接近一个"蛮力"的解决方案,它是如此繁琐和冗长,以至于我的程序员大脑中更好的一半像Susan Powter一样尖叫着 ......
这是一个示例:
let retweetQuery = PFQuery(className: Constants.kParseClassCauses)
retweetQuery.orderByDescending(Constants.kParseFieldCreatedAt)
retweetQuery.whereKey(Constants.kParseFieldFromUser, notEqualTo: PFUser.currentUser()!)
retweetQuery.whereKey(Constants.kParseFieldFromUser, doesNotMatchKey: Constants.kParseFieldToUser, inQuery: getFollowedUsersQuery)
retweetQuery.findObjectsInBackgroundWithBlock({ …Run Code Online (Sandbox Code Playgroud) 你会如何在应用程序中发送swift电子邮件?比如说,例如你的用户希望在Parse(或不是)的社交媒体应用程序中重置他们的密码,但是你不想使用MessageUI,因为你希望它是自动的.我已经做了一些研究,发现它可以用mailgun,但我无法弄清楚如何使用它与swift和XCode 6.你能帮帮我吗?
我正在为Android和iOS开发xamarin表单应用程序.我正在使用Parse SDK实现PushNotifications.我在.iOS项目的参考文献中引用了.Droid项目和Parse.iOS dll中添加了Parse.Android dll.我的问题有时在Android上我无法检索DeviceToken.解析安装类中没有DeviceToken和pushtype的条目.它的值是"未定义的".下面是我的代码以及清单.
public async void RegisterForPushNotifications ()
{
try {
if (Utility.isNetworkConnected ()) {
await ParsePush.SubscribeAsync ("");
var installation = ParseInstallation.CurrentInstallation;
// I'm saving the DeviceToken in App.regId for future uses
App.regId = System.String.IsNullOrWhiteSpace (installation.DeviceToken) ? "" : installation.DeviceToken;
ParsePush.ParsePushNotificationReceived += PushNotificationReceived;
}
} catch (ParseException e) {
System.Diagnostics.Debug.WriteLine (e.StackTrace);
} catch (Java.Lang.Exception e) {
e.PrintStackTrace ();
}
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.nirvaniclabs">
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="23" />
<application android:label="RxLifetime" android:icon="@drawable/icon" android:largeHeap="true">
<receiver android:name="parse.ParsePushBroadcastReceiver" …Run Code Online (Sandbox Code Playgroud) 我在各种场合遇到过这个关键字.我知道它应该做什么.但我真的想要更好地理解它.
我注意到的@NSManaged- 不是基于文档,而是通过重复使用:
@dynamicObjective-C(我不太了解)PFObject从Parse SDK.它通常使用KVC从后端读取/写入值.@NSManaged如果我没有在初始化程序中初始化,那么为任何变量添加前缀将关闭编译器.正式定义(在核心数据Apple Docs中):
Core Data提供NSManagedObject类的子类中的属性的底层存储和实现.在托管对象子类中的每个属性定义之前添加@NSManaged属性,该属性对应于Core Data模型中的属性或关系.与Objective-C中的@dynamic属性一样,@ NSManaged属性通知Swift编译器将在运行时提供属性的存储和实现.但是,与@dynamic不同,@ NSManaged属性仅适用于Core Data支持.
我从那得到了什么:
使用变量
@NSManaged应是从编译时检查豁免的东西.
我已经阅读了关于此事的正式文件和其他各种SO问题:
@synthesize vs @dynamic,有什么区别?
我本能地认识到我应该使用它的一些场景.我部分知道它的作用.但我所追求的是对它的作用的更纯粹的理解.
进一步观察:
一个PFObject在Parse SDK依赖于Key Value Coding访问它的值.本PFObject提供了以下存取:
objectForKey:
let score = results.objectForKey("descriptionOfResult")
//returns the descriptionOfResult value from the results object
Run Code Online (Sandbox Code Playgroud)
setObject:forKey:
results.setObject("The results for a physics exam", forKey: "descriptionOfResult")
//sets the value of …Run Code Online (Sandbox Code Playgroud) 我设置了Parse push Android SDK 1.7.0并且可以毫无问题地接收推送.但是,当打开推送通知时,我的应用程序崩溃时出现以下异常:
android.content.ActivityNotFoundException:找不到处理Intent的Activity {act = android.intent.action.VIEW dat = flg = 0x1000c000(has extras)}
我也尝试了子类化ParsePushBroadcastReceiver,getActivity()总是返回主活动类,结果相同.下面是完整的堆栈跟踪:
E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.ers.test, PID: 13513
java.lang.RuntimeException: Unable to start receiver com.ers.test.MyPushBroadcastReceiver: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat= flg=0x1000c000 (has extras) }
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2452)
at android.app.ActivityThread.access$1700(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.ActivityNotFoundException: No Activity found …Run Code Online (Sandbox Code Playgroud) parse-platform ×10
ios ×6
swift ×5
objective-c ×3
android ×2
xcode ×2
c# ×1
cocoa-touch ×1
email ×1
facebook ×1
frameworks ×1
ios8.1 ×1
iphone ×1
mailgun ×1
parsing ×1
scalability ×1