2014-03-05 2 views
13

내 기본 iOS 앱 중 하나에 대한 백엔드로 구문 분석을 사용하고 있습니다. 구문 분석에서 테이블의 레코드를 업데이트 할 수 없습니다. 먼저 개체를 쿼리하여 개체를 업데이트하려고합니다. 그래서, "objects"배열은 1 개의 레코드를 반환하지만 나는 그것을 업데이트하고 싶을 때 다음과 같은 에러가 발생합니다;구문 분석에서 레코드를 업데이트 할 수 없습니다. 오류 : "개체를 찾을 수 없습니다 (코드 : 101, 버전 : 1.2.16)"

"업데이트를 찾을 수없는 객체 (코드 : 101, 버전 : 1.2.16)"

은 그래서 당신은 내가 구문 분석에 레코드를 업데이트 할 수 없습니다 생각하십니까? postArray 1 개 레코드를 반환하기 때문에 개체가 존재

101: Object doesn't exist, or has an incorrect password.

을 분명히, 우리는해야한다 :

덕분에, 구문 분석에 E.

PFQuery *query = [PFQuery queryWithClassName:@"askedFriends"]; 
[query whereKey:@"questionID" equalTo:aqDt.questionID]; 
[query whereKey:@"fbID" equalTo:FbId]; 
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 

NSArray *postArray = objects; 
PFObject *post = postArray.lastObject; 
[post setObject:@"sentReply" forKey:btnSelection]; 
[post saveInBackground]; 
} 

답변

13

나는 같은 문제가 있었는데, 그 특정 클래스 테이블에 대한 ACL 열이었다. 당신의 ACL 열

{"*":{"read":true},"tyb5CcKwBU":{"write":true,"read":true}} 

"*"가 모든 사람에게 읽기 허용이 뭔가를 가지고 있는지 확인합니다. 당신은 참조 된 개체를 설정 createWithoutData를 사용

ParseACL acl = new ParseACL(<YourObject>); 
acl.setPublicReadAccess(true); 
+0

{ "*": { "read": true}, "tyb5CcKwBU": { "write": true, "read": true}}는 문자열입니까? –

+0

@TomTesticool Parse 대시 보드의 ACL 필드에서 문자열을 직접 편집 할 수도 있습니다. 클라우드 코드와 cliend SDK를 사용하면 클래스 이름 테이블의 ACL 필드를 나타내는 적절한 ACL 클래스가 있습니다 –

+0

이것은 며칠 동안 나를 괴롭 히고있었습니다 ... 필요한 모든 것은 myACL.setPublicWriteAccess를 사용하여 설정할 PFRole의 ACL이었습니다 사실), 나는 읽기 액세스 권한을 가지고 있었다. 그래서 PFRole을 얻고 있었지만 결코 설정하고 오류를 던지지는 않을 것이다. – DogCoffee

3

오류 코드 101을 의미합니다 (아래 내 코드입니다) 암호와 관련된 것을 살펴보십시오. 아마도 "askedFriends"객체에는 연결된 PFUser로 로그인하지 않은 경우이 객체의 버전을 비활성화하는 PFACL 객체가있을 수 있습니다.

파싱 웹 사이트에서 대시 보드로 이동 한 다음 데이터 브라우저에서 "askedFriends"클래스를 선택하십시오.

ACL 열이 있으므로 확인해야합니다.

+0

구문 분석 서버가 ​​더 이상 없습니다. heroku를 사용하여 구문 분석 서버를 실행합니다. 그러나 문제는 어디에서 할 수 있습니까?나는 differnct 방법 appllegate, viewcontroller, (개체를 업데이 트)에 acl 설정 에서이 문제를 해결하려 노력했다. 불행히도 그것의 작동하지 않습니다. – mzonerz

0

같은 것을 사용하여 클라이언트 측을 설정할 수 있습니다이 문제를 해결하기 위해 저를 도왔다.

myObject.put("item", ParseObject.createWithoutData(<SUB CLASS>.class, <Your object item>)); 
myObject.saveInBackground(); 
1

오류는 "(: 101, 버전 : 코드 1.2.16) 업데이트를 찾을 수 없습니다 객체"당신이 사용자가 ACL 액세스을 가지고 있지 않는 객체를 저장 하려고 할 때 추가합니다. 특정 사용자에 대해

:하십시오 모든 사용자에 대해

PFObject *object = /*the object you want to save*/ 
NSString *userID = /*the objectID of the user you want to let perform modifications later*/ 
PFACL *groupACL = [PFACL ACL]; 
[groupACL setWriteAccess:YES forUserId:userID]; 
object.ACL = groupACL; 

:

PFObject *object = /*the object you want to save*/ 
PFACL *groupACL = [PFACL ACL]; 
[groupACL setPublicWriteAccess:YES]; 
object.ACL = groupACL; 
개체를 만들 때 사용자가 당신이 PFACL 권한을 설정하는 데 필요한 개체를 변경할 수 있도록하기 위해

0

다음으로 수정할 수 있도록하려는 구문 분석 개체의 ACL 문자열을 변경하여이 문제를 해결하고 내 문제를 해결했습니다.

{"*":{"read":true,"write":true}} 

희망이 있습니다.

관련 문제