2017-10-07 1 views
0

J'essaie de mettre à niveau mon application iMessage à Swift 4. Cette section de l'exemple de code a parfaitement fonctionné dans Swift 3 mais donne des erreurs en essayant de passer à Swift 4. Le code ci-dessous est dans un classe où le fichier fait partie de la cible de l'application principale ainsi que l'application iMessage. Il donne des erreurs telles que shared is unavailable. Ce qui est tout à fait logique car il n'est pas disponible dans les applications iMessage.Erreur Swift 4 en cours d'exécution du code dans le poste

Comment cela a fonctionné précédemment Other Swift Flags J'ai ajouté -DIN_EXTENSION à l'extension de l'application iMessage mais pas à l'application principale.

Il y a beaucoup de similitudes entre mon application iMessage et l'application principale. Donc je veux garder mon code propre et ne pas répéter le code. Donc, cela devrait être possible. Je ne sais pas pourquoi, après avoir converti en Swift 4 tout d'un coup, il y a des erreurs de jet.

Des idées sur la façon de résoudre?

+0

Évidemment, il plonge dans le '# else' même dans iMessage .. – matt

+0

@matt Je viens de comprendre cela. Pour une raison quelconque lors de la reconstruction tout à coup, cela m'a donné des erreurs complètement différentes. Après avoir réparé ceux-ci, cette erreur est complètement disparue. On dirait un bug avec Xcode ou quelque chose. –

+1

Très possible! Des erreurs trompeuses se produisent lorsqu'il y a d'autres erreurs. Je suis heureux que tu l'aie résolu. – matt

Répondre

-1

Pour une raison quelconque, après la reconstruction de mon application tout à l'heure cette erreur est partie et cela m'a donné des erreurs complètement différentes. Après avoir résolu ces erreurs, cette erreur a complètement disparu. On dirait un bug avec Xcode ou quelque chose.