iOS app rejected IPv6 (without any http request) - ios

I've an iOS app that was rejected due the IPv6 incompatibility.
I've tested with a shared IPv6 network from my MacBook Pro, and works fine.
I don't have any http request or connection in my app, the only 2 present url's are placed in the app description and they are 2 labels (without any click event).
I'm developing using Appcelerator Studio (SDK v5.1.1) with xcode 8 and testing on iPhone 5S (v10.1.1).
There were my steps:
Build in Appcelerator Studio 4.8.0 with 6.0.0.GA SDK
Removed the tiapp.xml ACS properties and removed ti.cloud also
Run the app on iPhone 5S Simulator with 10.1.1 (without liveview)
Open the generated project in xcode (myApp/build/iphone/myApp.xcodeproj)
Select Build Only Device: iOS Generic Device
Product > Archive
Validate... -> OK
Upload to App Store... -> OK
I've also compiled to iTunes Sync (ipa file only to registered devices) in order to install on my iPhone 4 and iPhone 5S and it works fine
I'm using 2 Titanium modules:
com.mikefogg.squarecamera
ti.light
None of this modules have an http request.
Message from iTunes Connect:
Hello,
Performance - 2.1
Thank you for your resubmission. However, we still discovered one or more bugs in your app when reviewed on an iPad and iPhone running iOS 10.1.1 on Wi-Fi connected to an IPv6 network.
Specifically, an error was encountered upon application launch.
We've attached screenshot(s) for your reference.

Your problem isn't IPv6 but your app is not packaged correctly. To solve the problem you must have an active license (Indie, Pro, Team or Enterprise) and in "Appcelerator Studio" you must select "package" -> "iOS iTunes Store" for a correctly distribution.
Otherwise you'll have the app.js error because the app is not packaged for final distribution.

BE SURE THE APPLE REVIEWER IS USING YOUR APP CORRECTLY, THEY DIDN'T WITH MINE.... THERE WAS/IS NO IPV6 ISSUE!
Just a note, but my app was rejected for IPv6 network issue on a iPad with iOS 10.3.2, turns out the Apple Reviewer had not set a record time on my Video/Audio Record app (#PCAMWBUMS) and if you don't set a record time, my app does nothing!
So read the note Apple Review sends you and be sure they haven't made a mistake before you do all the research and waste time, when it turns out they just read your App Guide and clearly marked notes on the boot up screen! (Which they didn't.)
So I've replied to ask them to set a record time and try again, which I have tested on my iPad Air and iPhone 6S Plus both running iOS 10.3.2... I'm sure they'll pass my app and release it to the app store (which all of you should download, to catch those celebs, or anitifa, or thieves using your iPad, iPhone, or iPod Touch (or the unfaithful partner?), visit JOHNAVATAR.com to see all my apps)!
For some reason they sent me the following rejections notice:
We discovered one or more bugs in your app when reviewed on iPhone
and iPad running iOS 10.3.2 on Wi-Fi connected to an IPv6 network.
Specifically, there is no action produced when tapping the buttons on
the main page.

Related

App discovers bluetooth devices only when ran from Xcode

I'm working with a fork of this project for Empatica E4 wristbands and I'm unable to make the discover devices work without running the app from Xcode. The situation can be replicated with the original sample project.
When I ran the project through Xcode, I can see the list of nearby devices.
However, when I close the app and ran in from the phone (instead of clicking "play" on Xcode), I can't see any device.
Should I configure something on the Project or own a developer account? Right now I'm not paying a developer account but I thought I could do this without using Xcode to run the app. Thanks.
In short: I can open the app without connecting the phone to XCode but I can't discover devices when I'm not connected to XCode.
More details.
When executed through Xcode on the iphone, the device discover works. On the logs, we can see:
E4tester [didUpdate] status 2 • kBLEStatusScanning
bluetoothd Received XPC message "CBMsgIdScan" from session "Empatica.E4testerCV-central-313-24"
bluetoothd Received 'start scan' request without duplicates for all UUIDs from session "Empatica.E4testerCV-central-313-24"
bluetoothd State of application "Empatica.E4testerCV" is now "foreground-running"
However. When the app is opened on the iPhone (instead of ran via Xcode), we get the following log messages:
E4tester [didUpdate] status 0 • kBLEStatusNotAvailable
E4tester Task <EA813C26-F662-461C-8C47-A97FA7E32BA4>.<0> response ended
E4tester Task <EA813C26-F662-461C-8C47-A97FA7E32BA4>.<0> done using Connection 1
The important detail here is the kBLEStatusNotAvailable status, which contrasts with kBLEStatusScanning. According to their docs this means The iOS device does not support Bluetooth LE, or the Bluetooth LE module is not active. but the device does support BT LE and is enabled.
I opened an issue on their repository.
You need developer's account for testing Xcode apps in devices.
Developer account will give certificates and provisioning to run app in device. There is 2 certificates develop and distribution.
In your case you don't have any apple account. so maybe u are using freee provisioning
Please read this one to understand free provision:
Test iOS app on device without apple developer program or jailbreak
Maybe the capabilites on free provision is limited on debug mode *(runned from xcode)
In the end I got a direct answer from Empatica support team which I think is perfect since I sought an answer from credible and/or official sources.
Still, I would like to thank Antonio for his useful answer as well as Scriptable and Hichem for their messages.
The answer from Empatica E4 team is the following:
#carlosvega If you are working with an iPhone with iOS 11 or 12 you
should add the string NSBluetoothPeripheralUsageDescription in the
Info.plist file. The sample code has been created a while ago before
the privacy string was mandatory.
-- Empatica Engineering Team

App store rejects my app developed in expo although the app works completely fine while testing

App store rejects my app developed in expo although the app works completely fine while testing.
This is the message i get from apple:
**"We discovered one or more bugs in your app when reviewed on iPad running iOS 11.1 on Wi-Fi connected to an IPv6 network.
When user launches the app, app displays an error message.
Please see attached screenshots for details."
**
I have tested my app and it works completely fine in iOS 11.1. I tested in development mode and as well as without development mode.
Just tell that you can't test on an IPV6 network, and for know is fully working in IPV4. (It worked for me)
Apple is starting to prepare for a world where IPV4 "doesn't exist".
But not everybody has a proper environment for testing networking request on IPV6 layer.

What 's wrong with my environment IPV6 for ios?

I submitted my first iOS app to Apple Store and the review team has rejected me because:
Your app crashes on iPad and iPhone running iOS 9.3.4 connected to an IPv6 network
My problem is that I can not reproduce the error.
I have a iPhone 5 (iOS 9.3.4) and the environment as shown in the screenshots.
Is my iPhone5 working in IPv6?
Mac Mini Configuration (Bridge)
iPhone 5 Connection2 (Is it normal to appear that IPv4 assigned?)
I fix my issue. There was an error on my web service server (1&1).
But I never did my application to fail in my test environment. I think it was well set up from the beginning, but no one could confirm.
Thanks for help!

Unable to reproduce the issue reported by apple app store review team

I have a live app in app store that was published before iOS 9.0 was released. Then we submitted an update after iOS 9 was released. App got rejected with following reason "The app hangs on a load screen unless the user closes the app and relaunches"

We discovered one or more bugs in your app when reviewed on iPad
running iOS 9.1 and iPhone running iOS 9.1 on both Wi-Fi and cellular
networks.
The app hangs on a load screen unless the user closes the app and
relaunches
The steps to reproduce are:
Launch app
A screen with the apps logo will appear indefinitely
Close app
Launch app again and a login screen will appear
I can't reproduce the issue from my side. I tried to reproduce this using following 2 ways.
1. From itunes
Copied ipa to itunes Apps in my mac.
Connected iPhone running iOS 9.1 on both Wi-Fi and cellular networks.
Installed ipa to above mentioned device.
After completing the install, Launch app
A screen with the app logo will appear after that login screen will appear.
2. Tried as an internal tester from itunesconnect (TestFlight)
Connected iPhone running iOS 9.1 on both Wi-Fi and cellular networks.
Installed ipa from Testflight app.
After completing the install, Launch app
A screen with the app logo will appear after that login screen will appear.
Now we replied to appstore that we can't reproduce the issue. But it seems they will take time to reply for us. So am trying to get suggestions from all.
Did you delete the app from the iOS device (and perhaps reset the device and all Privacy warnings) before installing and testing the app? Did you try testing the app with the device in Airplane mode (bad or no connectivity during launch)?

Testing Apps on a Device

When using trigger.io toolkit, there's an option that says
"Build and immediately run your app, either locally, on a simulator or on a connected device."
How do you run the app on a Connected Device? I want to see the app on my iPhone and see how it behaves directly. Is this possible?
Thanks
Marc
I'm going to assume you're working on windows with an iPhone that's iOS8 because that's where you currently can't run your app directly on a connected device.
What we did to "fix" this is creating a Development Provisioning Profile with the UDID's of our test devices and added this to config -> tools in the trigger.io toolkit. In the forge you now select package -> iOS giving you a .ipa file. This .ipa can now be installed using iTunes on your test devices.
It's a bit longer than just clicking run on device like you can for Android but at least you don't have to send it to testflight and wait for apple's approval.
This is possible but it depends on your os.
If your on a Mac you can deploy to both ios and android devices from forge, just connect them via usb and build, grated you need to make sure iTunes sees your devices etc.. there are guides on the trigger site
If you are on Windows, you are unfortunate out of luck right now, this used to work but ios8 broke this so if your building on ios7 you could still do it on Windows, otherwise you would need to use testpiolet from apple

Resources