我为iOS提交的应用程序被提交给Appstoreconnect,因为它在审核过程中的启动时崩溃了.
我的应用程序使用CoreNFC框架.所以这个应用程序兼容iPhone 7,8,X ..设备与iOS 11或更高版本.应用程序由我在物理设备上测试,工作正常.在模拟器上启动也很好(NFC功能不起作用,但应用程序没有崩溃).
Crashlog包含信息,我可以看到CoreNFC框架在其启动时未加载:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Description: DYLD, Library not loaded: /System/Library/Frameworks/CoreNFC.framework/CoreNFC | Referenced from: /var/containers/Bundle/Application/223F146A-DF69-43CC-89A1-CFDF323ACB45/SharpEnd NFC Scanner.app/SharpEnd NFC Scanner | Reason: image not found
Run Code Online (Sandbox Code Playgroud)
我试图在应用程序常规选项卡 - 嵌入式二进制文件中嵌入CoreNFC框架,但它给了我构建错误,所以我不确定它是否可行.
所以我的问题是:
任何帮助或解决方法将非常感谢..
我所拥有的: 我有带有socket.io实现的Android 应用程序。服务器在 node.js 上运行。服务器 IP 在应用程序中进行了硬编码。客户端与服务器成功通信 - 它们发送和接收消息。
我在客户端中使用的 IO.socket 版本: ('io.socket:socket.io-client:1.0.0')
我需要得到什么:我的问题是在客户端收到确定的消息后,我必须更改客户端连接到的服务器 IP。
简化的客户端套接字行为更像是这样:
socket.on("msg", new Emitter.Listener() {
@Override
public void call(Object... args) {
try {
switch (msg){
case "1":
keepOnListeningFirstServer();
break;
case "2":
connectToAnotherServer();
break;
...
Run Code Online (Sandbox Code Playgroud)
我设法实现的是,在特定的服务器命令 ( msg = 2) 客户端连接到第二台服务器后,但客户端仍连接到第一台服务器(客户端仍在侦听来自第一台服务器的命令)。实际上,我认为客户端创建了第二个套接字,但没有正确关闭第一个套接字。
在这种情况下,客户端仍然从第一个服务器接收消息,但它会向新的第二个服务器发送响应。很奇怪,但这是我在这里设法做到的最远。
我试图断开客户端并启动新的侦听器是在客户端上调用:
socket.disconnect();socket.close();socket.off();然后创建新的套接字并连接它:
socket = IOSocket.getInstance(socketIP).getSocket();
socket.connect();
Run Code Online (Sandbox Code Playgroud)
所以我的问题一般是:
任何帮助或建议将不胜感激,所以提前致谢!