내 앱에서 mapItem으로 NSUserActivity를 구현하는 데 문제가 있습니다.NSUserActivity가 작동하지 않습니다.
을 내 viewDidLoad
방법에 다음 코드를 사용하고 있습니다에서 :
내가 원하는 건
은 정사각형이하는 것처럼, 응용 프로그램 전환기에서 "길 찾기"제안을 사용할 수있게하는 것입니다 등록하고 싶은 위치 (pub)를 표시하는 View Controller.NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@"co.pubmapper.ViewPub"];
CLLocationCoordinate2D coords = CLLocationCoordinate2DMake(self.pub.lat, self.pub.lng);
MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:coords];
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark];
[mapItem setName:self.pub.name];
activity.mapItem = mapItem;
// not sure any of these are necessary for my use case
[activity setEligibleForSearch:YES];
[activity setEligibleForHandoff:YES];
[activity setEligibleForPublicIndexing:YES];
[activity becomeCurrent];
이 내가 콘솔에서 다음을 참조 실행 : 내 activity
항목이 어떤 이유로 즉시 무효화되고 제안
[main] sendUserActivityToServer, called on activity C626E4B1-ADF8-49D8-80FB-C773DB71243D after it had been invalidated, so doing nothing.
. expirationDate
을 설정하기 위해 다음을 추가했지만 여전히 콘솔에 같은 메시지가 표시됩니다.
activity.expirationDate = [NSDate distantFuture];
지금까지 나는이 내 응용 프로그램을 실행 만 꼭 필요하다고 생각하지만, 나는, 나는 또한 NSUserActivityTypes
내 활동 유형을 추가했습니다 여기에 문서의 모든 https://developer.apple.com/reference/foundation/nsuseractivity?language=objc
을 따랐습니다 말할 수있는 그리고 지금 당장 관심이없는 활동 객체를받는 것입니다.
이 해결 :이 mapItem
유형에 적용하지만, 문서 언급하면 잘 모르겠어요
@property (strong) NSUserActivity *activity;
...
[_activity becomeCurrent];
빙고! 고마워. 한 번에 그걸 읽었지만 아마 Spotlight 전체 검색 결과에만 관련이 있다고 생각한 것 같습니다. 실제로이 사용 사례에도 필요합니다. 건배! –
굉장! 다행. – raidfive