iOS 8 Widget Ad Hoc distribution - ios

I'm trying to distribute a simple today widget with an ad-hoc profile.
The widget works flawlessly when invoked from XCode in debug mode,
but appears empty when the ad-hoc app is installed on the device.
I've asserted that
the provisioning profile is correct
the app (which has almost no code) launches and displays the trust request
preferredContentSize has been set
the widget appears in the widget list (edit mode)
the widget appears in the notification center, with its title,
but with zero height.
Any clues? Thanks.
UPDATE:
the widget is actually executed (loadView, viewDidAppear, ...) but crashes. Given that its almost empty, and it works in debug mode, it's pretty strange. The crashreport has no useful info.
UPDATE 2:
Adding an MKMapView to the controller's view makes it crash. Pretty strange.

It seems the widget crashes due to memory pressure. MKMapView is known to
be memory hungry.

Few things you can check:
Is your bundle identifier different on the ad hoc profile? If so, you'll need to create a new info.plist for both Extension and App so they match.
Are you using any dependencies that don't support 64bit (Arm64)? I've seen an issue where the extension binary wasn't created correctly with older frameworks that don't support 64bit. It worked fine on armv7 devices but didn't show up on arm64 as you describe.
Are you using a app group container? The names must match on the ad hoc profile.
That's all I can think of at the moment. I had a similar issue running iOS 8 beta where I would have to restart the device every now and then to resolve the symptom you describe, but not with the release version as of yet. Hope this helps.

Related

React-Native app is rendered different when distributed with Testflight

I am currently working on a react-native app and everything went smooth so far.
But suddenly on a new testflight release the app is rendered different when distributed with testflight than when i test in the simulator or directly on devices via xcode. With different I mean that big parts of the views are simply not displayed (the app is still working and not crashing however). Previous builds worked fine on testflight.
I tried:
Product->Clean in xCode
New Checkout from Git
Using Fastlane vs building & uploading manually
Deleting app from device, restarting and reinstalling
But no success. How is that possible? i can understand that it might have different results in simulator vs real device. But real device via xcode vs testflight makes no sense to me. Any help appreciated, thanks!
It is probably quite specific but might help someone at sometime:
Problem in my case was that one View I wrote inherited from View instead of Component.
I am still wondering why it was rendered correctly in Debug mode but broken in Release mode but
myView extends Component{
...
}
instead of
myView extends View{
...
}
solved it for me.

App crash when launching from Xcode if app already installed on device through Testflight

I'm building an iOS app for which I have Testflight set up, but now I'm running into an interesting issue where I can't properly launch the app from Xcode anymore since I registered my device to test the app through Testflight.
When I try to launch the app from Xcode, it will build fine and even launch it on my phone. However, there will be no output in the console, and a few seconds later the app will crash on my phone and I get the following error message popup in Xcode:
process launch failed: failed to get the task for process 484
If I delete the app from my phone before trying to launch from Xcode, the same thing will happen and the Testflight orange dot will still show up next to the app name on the home screen.
I have tried to change the app's version and build number, but that had no effect. I have not yet tried to unregister my device to test the app through Testflight because I would like to find a good way that facilitates both.
One way I have found to circumvent this problem is create a different app target and run the app with that which seems to work -- but I'm wondering if there is an actual solution to this problem or a better way to work around it.
Thanks in advance.
Turns out Max was on the right track - if I manually specify a non-distribution provisioning profile it will work properly by overriding the Testflight version of the app (the orange dot disappears). Not sure why "automatic" wasn't doing that for me. Thank you!

iOS enterprise distributed app terminates without any error log

I have very weird distribution scenario with the iOS app.
App works normally in simulator
App works normally on the device with developer profile (and corresponding bundle id domain.product)
When downloaded from testFairy service with valid enterprise provisioning profile app and bundle id (in form domain.beta.product) app:
Installs without error
Shows lunch screen and terminates immediately
When I connect device and check logs through Xcode -> Devices -> Show log I don't see any today's crashes, like no error happened. (this confuses me the most)
This happens on 2/2 iPhone devices that tried to run the app.
Some other infos that could maybe ring a bell to someone:
- App uses Core Data
- App uses TestFairy SDK (but it was the same without it)
- target is iOS 7.0, base SDK is Latest iOS(iOS 8.1)
- provisioning profile is set to that Enerprise Profile and signing identity is set to corresponding certs for both debug and release.
- I've removed armv7 from Targets-> Info -> Required Device capabilities as suggested on some stack overflow solutions.
Anyone experienced similar problem? What could be the cause?
I work for TestFairy, I think I can assist.
Few points:
TestFairy's distribution does not alter the IPA in any way.
When using an enterprise profile, you need to sign using (TEAM.domain.company.app) in your application-identifier. iOS 8 shouldn't let you install if the identifier does not include the TEAM.
If the app crashes immediately (with or without the Default splash screen,) it might be because you're out of memory. Does rebooting fix the problem?
Can you please paste all the logs from right before the launch, till the app exits? you can attach and send to TestFairy's support (via Contact page.) That would be helpful. Also, if you're interested, you can email support with your username and link to build, and they can try installing it on their devices and let you know what the problem was.

Why does my distributed app look different than it did while debugging in xcode?

I 'completed' an app and submitted it to the app store. The app was rejected because they couldn't get the app to start. They sent me images and they look different than anything that I have seen while debugging.
I created an ad hoc .ipa and loaded it onto my device and then I was able to see the same symptoms. Some images are missing, including the 'start' button.
It does not cause a crash, so I can't use crash reports to debug the problem.
Are there certain settings that I need to modify to make sure that a distributed app and a debugged app are the same?
I am using Xcode 5.1.1 and Cocos2D.
(Some of the images that are missing are images whose zOrder I modified; I don't know if this is relevant or not).
One of the missing images is 'tower_blank.png' shown in the project navigator in the screen shot below:
I found a solution that fixed the problem. I would love to get some feedback as to whether this is a good idea or not.
Under 'Build Settings->Apple LLVM 5.1 - Code Generation->Optimization Level' I changed the Release setting from 'Fastest,Smallest' to 'None'

App is crashing after launch

I have Xcode project and under that project I have two targets, two separate apps which core functionality is the same, but they are using different Bundle IDs and different provisioning profiles. In signing certificates only the app ID prefix is the same (i.e., my Team ID).
The first application works fine, but now when I'm starting to run a second application using Xcode profiler, application launched and after splash screen image application crashed without any error information, in the other side when I'm running the applications on the test device everything works fine.
What is the problem? I spent whole my day to this issue , but it didn't help :(
My bet is that something is wrong with certificates/provisioning profile, but I can't figure out what.
Fixed,
problem was connected with preprocessor macroses, I forgot to define preprocessor macroses for Release configuration.

Resources