2015-01-27 13 views
3
내가 시도

작동하지 않습니다,하지만 난 내 확장을 선택할 수 있도록 한 후 self.extensionContext아이폰 OS 팔주 확장/선택 내 사용자 정의 확장자를 가진 아이 북스에서 텍스트를 강조 공유 할 수있는 아이북

<NSExtensionContext: 0x17541d90> - UUID: <__NSConcreteUUID 0x1765e860> D69F0393-C5F1-4DEB-9A97-B479C2BC0C95 - _isHost: NO 
items: 
(
) 

내부에 아무것도 doen't 제공된 목록에 단지가 iMessage, 트위터 등 빈 SLComposeServiceViewController

메일을 팝업 예상대로 작동합니다. 이 문제를 처리하기 위해 내가해야 할 추가 마법이 있습니까? 아이북에서 공유 할 때이 약

답변

2

그것은 문제가 (스위프트)에 아이폰 OS 9, 다음 코드를 사용하여 해결되었습니다처럼 보인다 제대로 북스에서 선택의 내용을 반환

for item: AnyObject in self.extensionContext!.inputItems { 
     let inputItem = item as! NSExtensionItem 
     for provider: AnyObject in inputItem.attachments! { 
      let itemProvider = provider as! NSItemProvider 
      if itemProvider.hasItemConformingToTypeIdentifier(kUTTypeText as String) { 
       itemProvider.loadItemForTypeIdentifier(kUTTypeText as String, options: nil, completionHandler: { (txt, error) in 
        NSOperationQueue.mainQueue().addOperationWithBlock { 
          //Doing stuff with txt 
        } 
       }) 
      } 
     } 
    } 
4

흥미로운 일이

  • 이다, self.extensionContext.inputItems은 빈 배열입니다. 공유 할 물건이 없습니다. 아이북에서
  • 공유는 애플이 제공 한 확장 정상적으로 작동합니다. 내 iPhone에서 다른 확장 기능은 iBooks에서 사용할 수 있습니다 - Evernote, Things 및 기타 - 정상적으로 작동하는 것은 아닙니다. 그들은 모두 빈 내용을 생각해냅니다.

필자의 의견 : 애플의 확장에서 공유는 문서화되지 않은 비밀 행동에 의존하고 앱 스토어 승인 과정을 통해 얻을 것이라고를 적용 할 수있는 여분의 마법가 없습니다.

당신이 당신의 활성화 (확장자가 항상 표시해야 함을 의미) TRUEPREDICATE에 규칙 또는 매우 관대 뭔가를 설정하면 확장은 아이북에 표시됩니다. 하지만 지금은 어떤 콘텐츠를 공유 할 수있는 것처럼 보이지 않습니다. 나는 애플에게 버그를 제기 할 것이다.