에 자신의 뷰를 생성하는 것을 잊지 마세요 내가했던 다음 단계 :
- 프로젝트
에서 스토리 보드 파일을 삭제
- info.plist 수정 :
NSExtension Dictionary로 이동하여 다음 키를 제거하십시오. NSExtensionMainStoryboard. 그것을이 키 NSExtensionPrincipalClass로 바꾸고 ViewController를 값으로 추가하십시오. TodayViewController.
전에 :
<key>NSExtension</key>
<dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.widget-extension</string>
</dict>
후 :
<key>NSExtension</key>
<dict>
<key>NSExtensionPrincipalClass</key>
<string>TodayViewController</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.widget-extension</string>
</dict>
- 당신은 스위프트를 사용하는 경우, 당신은 목표의 빌드 설정에서 "임베디드 콘텐츠 스위프트 코드를 포함합니다"활성화해야합니다. YES로 설정하십시오.
- 또한 내 TodayViewController 클래스 (가져 오기 이후)에
@objc (TodayViewController)
을 추가해야했습니다.
앱을 지금 실행해야합니다. 하지만 할 일이 두 가지 더있었습니다.
- 보기 만들기. 분명히 자동으로 생성 된 뷰는 없습니다.
그래서 추가이 라인 :
override func loadView()
{
view = UIView(frame:CGRect(x:0.0, y:0, width:320.0, height:200.0))
}
- 그리고 당신의 viewDidLoad 방법에 위젯의 높이를 설정 :
self.preferredContentSize = CGSizeMake(0, 200)
참고 : 확장 프로그램의 info.plist에있는 NSExtension 사전 아래에 있어야합니다. – xtravar
이 작업을 수행하려면이 작업을 수행해야했습니다. http://stackoverflow.com/questions/24416003/writing-an-ios-8-share-extension-without-a-storyboard –