iMessageExt app启动应用程序

时间:2017-02-09 22:28:42

标签: ios objective-c ios-app-extension imessage imessage-extension

我创建了我的iMessage扩展,当我尝试打开它时,第一个屏幕出现但它完全冻结,并且它没有任何反应。

  

我已将日志放在第一个视图的viewDidLoad中,并且没有任何内容出现,几秒钟后我就可以看到这些日志了。

要使应用程序冻结失去该状态,用户必须向左或向右和向后滑动屏幕。

我试过在网上寻找碰巧相同的人,但我找不到任何东西。

如果您认为我应该提供一些其他信息,请不要再考虑更多屏幕截图或部分代码添加,只是让我知道

任何帮助都将不胜感激。

谢谢。

更新:

这是我的项目结构。

enter image description here

这是我的viewDidLoad代码。

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"here viewDidLoad iMessage ext~~~!");
    [self applyCornerRadiusToBtn];
    [self registerPresentationAction];

    NSDictionary *user = [self getUserInfoFromHostApp];
    if (user) {
        NSLog(@"Here != null user info");
        //It is assumed that when you enter this point and run this log, the app should navigate to the next screen, but it does not.
        [self performSegueWithIdentifier:@"goToYoutubeListIm" sender:nil];
    } else {
        NSLog(@"Here userInfo null");
    }
}

- (NSDictionary *)getUserInfoFromHostApp
{
    NSUserDefaults *myDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.xxxxx"];
    NSDictionary *userNameSaved = [myDefaults objectForKey:@"userInfoExt"];;
    NSLog(@"userNameSaved in xxxx Ext ==> %@",userNameSaved);

    NSURL *groupURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.xxxx"];
    NSLog(@"groupURL ==> %@",groupURL);

    return userNameSaved;
}

1 个答案:

答案 0 :(得分:0)

对于所有相关人员,我发现问题或问题是准确的。

1)我正在创建我的控制器类型MSMessagesAppViewController。显然应该只有一个这种类型的控制器。

2)我的viewDidAppear MSMessagesAppViewController中有逻辑。由于一些奇怪的原因,这也导致了问题,我必须得到那里的逻辑并强迫用户与按钮交互以执行didAppear中的逻辑