Building to a device in Xcode.. is there an expiry? - ios

I ask because I installed to a device (by selecting the device from the simulator menu) and everything was working as expected.
However, after a few weeks it stopped working (immediate crash upon opening).
I tried connecting to the internet and running it again.. and that seemed to make it start working again. However the app itself doesn't use any internet connectivity.
Is there some type of expiry Apple sets when installing to a device using this method?
Or could it be related to the Unity framework needing to touch base?

Related

How to debug an app on iPhone without internet

I'm using Xcode 10.1, and I don't have a checkbox whether I want to connect through network or not on my device page (which was there in Xcode 9 and Xcode 10 beta). Search "connect via network xcode" on google images if you don't know what I mean.
However, I must debug the offline flow of my app (which is written in React-Native btw). Not just no-internet-connection, but turning off wifi and mobile-data, which will trigger a status change. By using the developer settings of the iPhone, I can make every call fail (100% loss), but cannot change the internet-status of the phone.
So I want the debugger to stay connected and either be able to:
debug the old-school way through the cable (if I turn off internet now, I get a red error screen and nothing is possible anymore), so I can disable wifi and mobile-data,
or simulating that status change on the phone.
Btw, I cannot use a simulator, since the app requires Bluetooth.
Thanks in advance!
Edit:
The checkbox is not there for older iPhone devices. With iPhone 7s, I do see the checkbox "connect via network". But enabling or disabling does not change the fact that your iPhone needs internet to debug. If I disable internet on the phone I get the following error:
Ok, I've found the problem. We are testing on a iPhone5, which is no longer officially supported by Apple. Which means that Apple has decided to cut features for iPhone5 so you would buy a new one (wonderful strategy =/). Hence debugging with a cable is no longer supported on iPhone5.
We tested with a iPhone6 from a colleague, and everything works fine.
Edit:
Altough the checkbox is there, and I can disable wifi for connection... The moment I turn off internet on the phone, the app crashes and says: "Runtime is not ready for debugging: make sure packager runtime is running"... so no solution yet...

Crashlytics iOS Build installs very slow

We have been using Crashlytics (Fabric) for iOS Builds distribution for so many months. But recently We are experiencing wired behavior with one app.
While we are trying to download the app, Sometimes it is downloading very slowly, it takes literally more than 1 hour to install the app. It's been like this for few days only. Earlier there wasn't any issues with this app.
This is happening in one specific device only, for the other devices, the app is installing without any issues.
We are installing on the same wifi network, same configuration on the devices.
Full of available memory, no background applications.
We have tried to restart the device, forgot and rejoin the wifi, still the issue occurs.
Can anyone please help us?

Testing React Native via iPhone IOS

This may be a bit of a silly question but i haven't found a solid answer.
I have created a React Native app which includes making http requests to an external server (https://example.com).
When i plug my iPhone in, connect to wifi and deploy to device it works great. (All certificate signing etc is fine).
Should this app still work on my phone once I have disconnected it from my macbook and/or disconnected it from the same wifi.
It worked initially but then eventually kept crashing on load.
As soon as i plugged it back in and tested it works. Is there a way to keep this app on my device permanently?
No, it won't work. While you're testing it, the application on your phone is loading your React Native JS code bundle from a server running on your computer, normally on http://localhost:8081.
Once the phone loses access to that server, the app on the phone will lose access to that JS bundle and it will crash.
You have to install the app on your phone by creating an IPA (which requires an Apple Developer account), so that the app can be used anytime.

How do you verify developer app install once and forever with Xcode 8?

Once I've upgraded and installed Xcode 8, my developing experience with iOS has gone down the gutter. Most frustrating of all is the need to verify the app every time the app is installed from Xcode.
I'm working on simulating data loss so that I can build correct error handling solutions, but when I install the app from Xcode with my device's data connection to off (no wifi, no cellular), Xcode prompts me to verify the app by turning on data connection. This is the case even when I simulate network loss with the network simulator.
I never dealt with this issue in Xcode 7.
Due to this issue, I'm unable to set breakpoints, work step-by-step troubleshooting, and work with the console when I have no data connection.
Is there something that'll verify an app forever, once and for all? I'm not deleting the app from my iPhone 7 each time I install the app. I'm just pressing the play button from Xcode like I always used to.
Thanks for your help.

Bluetooth Transmitting Legacy Name

I am working on an mbed powered Bluetooth Low Energy project. I have been developing various GATT services, however, I have now found my project has got "stuck" on a previous service. What ever program I download onto the device, a Service is broadcast with the name "HRM_SEC". I have repeatedly changed the name from this.
I have installed known working examples of default Heart Rate Monitor Example. I have installed blank programs without bluetooth service definition etc.
However, the name of this prior service is persisting.
I have reinstalled my ios app - LightBlue - incase it was a casheing thing. By reinstalled I mean deleted and then downloaded from app store.
I can't connect to these services. New programs are being installed, as I am getting the expected serial feedback.
Why is this happening and What can I do?
I have just tried using the LightBlue app on a different iPhone and I am getting the expected behaviour. How can I purge the stored data from the LightBlue app. I have tried deleting it, then doing a reset (holing lock and home button), then when it has rebooted I re-downloaded the app from the app store. What else can I do to clear which ever info is being stored by LightBlue?
This seems to be an underlying iOS issue, as my other apps are also now using this legacy name. I have tried disabling and then enabling Bluetooth, but this hasn't worked. Any other ideas?
I have submitted an iOS bug report. This is really annoying, as I cannot use my iPhone to test an app I am working on. Any ideas for workarounds?

Resources