Do I need a physical iPhone to compile and distribute IOS apps? - ios

I have a simple app (in Qt/C++) which compiles and runs great in the iphone simulator on my Mac. When I try to compile it (kit) for the IOS (non-simulator) I get a warning that my kit settings are incomplete.
Qt: In the Kit settings for IOS Qt insists on selecting a device - which I don't have. So the kit is incomplete, and I get compilation errors. (and Kit has a warning sign).
Apple: During compile I get an error that relates to missing IOS App Development Profile...but I plan to distribute so why does it want a development profile? I have a IOS App distribution profile.
I was hoping to build and test my app using simulator only, then distribute in apple store.
Do I need a physical iphone so Qt Creator Kit is happy?
Do I need a physical iphone so Apple can create and IOS App Development platform which is a prerequisite to compilation?

For anyone else in this situation, it seems that XCode needs a development profile to compile (regardless of whether or not you plan to distribute) for anything other than a simulator. Then, it needs a distribution profile if you want to distribute the app.
Since a development profile must include the Universal Device ID for at least one device, you need to add at least one device. (Or you need to get the UDID of a real apple device to create one). Once you have the development profile you can compile and distribute the app.
I could not find any way around this. (Note that if you are compiling for the simulator it will compile without the profile, BUT, the simulator UDID is refused as a valid device in the apple store connect)
Once XCode is happy then Qt is happy

Related

Unable to download application in device with ios 11

I have build my application two years ago but not submitted on App Store. Now I want to submit the app on App store. But when I try to install app using Xcode or through diawi link of its Ad hoc build, app is not installing on device.
When I try to install app through Xcode, sometimes it shows
this application does not support this device's cpu type
and sometimes
Could not write to the device
and when I try to install app through diawi link of its Ad hoc build, it shows
Unable to download application, <app-name> could not be installed at this time
This issue is only occurring in device with ios 11. I have checked my certificates as well as UDID of device in which i am trying to install. Also I have set Architectures of Build Setting of Xcode to Standard architectures (arm7, arm64) - $(ARCHS_STANDARD). It is completely working fine in device with iOS version below 11.
Finally I have find the solution of my issue. In my case I have to remove some old libraries which is not supporting in ios 11 and have to change some deprecated code.
If your code is deprecated or some libraries are stop working then Xcode will show you only error of
this application does not support this device's cpu type
or
Could not write to the device
So you have to check that which library is deprecated after launching of ios 11.
Also you have to check all other details like Build Active Architectures Only, Architectures, Valid Architectures, Required device capabilities from Info.plist.

Launch Failed, LibGDX IOS Device

I have trying to make an ios app out of libgdx. I have an Ipad (no iphone yet) an I am trying to upload my app to the device. I have an XCode 7.2, which means that it guarantees that I can upload an app to an apple device without an Apple Developer Account, which currently I have none. I had successfully uploaded an app onto my Ipad with XCode alone. In Eclipse, a simple test app runs perfectly on an IOS Simulator. But when I tried to run it in an IOS device, it does not work. Since it is just a free provision, I was hoping this would work. The Bundle identifier of the xcode app with free provisioning is the same as the app id and main class of my eclipse ios app. Before this, there was an error that no provision was set, so I set the bundle identifier of the xcode app the same with the eclipse app, according to roboVM(http://docs.robovm.com/getting-started/provisioning.html#free-provisioning). But then this error shows up,
"Launch IOS Device App" has encountered a problem.
Launch failed. Check the RoboVM console for more information.
The given data is not a property list of a supported format.
I need to test my app on a real device because I am going to try to implement an online multiplayer with it. As of now I am still using LibGDX 1.5.5. Is it because roboVM needs an apple developer account?
Edit: Even without any device connected, the error persists
I had the same problem as the original poster and it persists in IntelliJ. After some tinkering, it was also showing up on the command line. THanks to some help on the libgdx irc forum, we coudl solve the problem. It was due to running iOS 9.2 on my iOS device and a too old robovm-plugin 1.12.0 seems not to work with libgdx and iOS 9.2. An upgrade to 1.12.1.-SNAPSHOT solved it.
Attention, you have to update two lines in build.gradle:
in buildscript - dependencies: classpath 'org.robovm:robovm-gradle-plugin:1.12.1-SNAPSHOT'
in allprojects - ext: roboVMVersion = '1.12.1-SNAPSHOT'
If you want to compile in IntelliJ, you need to manually install the nightly robovm-plugin from the nightlies download section from the robovm webpage.

Bypass Code-Signing for iOS Test Dev - XCode Version 6.0.1

I'm pretty new to the Xcode environment and I'm trying to test a iOS App I'm building.
I'm running XCode 6.0.1 with a non-jailbroken iPhone 6+, running iOS 8.0.
Unfortunately, I do not have a Dev Account as yet, but my iOS simulator is ridiculously slow (and for some reason massive on my screen), making it hard for testing.
I've already tried the solution from HERE with no luck, but changing the STRINGs to NO.
I have also tried to change the following project settings (found here), as seen here, with no luck:
Is there an updated method around this? Or am I forgetting to do something?
Unfortunately, you can't. According to Apple's Documentation on iPhone certificates - iOS/iPhone certificates are only issued to members of the iOS developer program.
Those are the only two options. Without a paid developer account you won't be able to provision your device to run your app, and without jailbreaking your device you can't use the JB-enabled ways (whatever they are) to install your app on your device.

able to run unsigned app on jailbroken iOS

I'm developing an app for jailbroken iOS devices using Xcode 4.3 (altered by JailCoder), testing on an iPod Touch 4G, currently running iOS 5.1.1, previously 5.0.1. I noticed recently I'm able to run my app on my iPod without using either ldid or a self-signing certificate with codesign to bypass code-signing requirements (as described on http://www.saurik.com/id/8). I don't have either the security.mac.proc_enforce or security.mac.vnode_enforce security checks disabled.
So why would I be able to run unsigned code on my iPod? This didn't seem to change when I upgraded from 5.0.1 to 5.1.1. My beta testers are unable to run my app on their 5.1.1 systems when not signed with a self-signing certificate. What could be different on my system? Could it be differing methods we used to jailbreak our devices?
To run unsigned code on an iDevice, it needs to be jailbroken. To easily install your custom app and debug it from Xcode (or give it to somebody else) the easiest way is to package an IPA and sync it via iTunes. However, it requires AppSync (mainly used for piracy, sadly).
The iOS 5.1.1 jailbreak didn't patch the code signing need to run executables. AFAIK no one apparently cared enough to do so, which means many discomfort for those who build on iOS some software as ./configure scripts obviously doesn't work. If an executable is not codesigned (or fake-codesigned), it will receive a SIGKILL.

Jailcoder with SDK 6.0

I am new to iOS. I was installing latest XCode with SDK 6.0 in it. I have been successfully testing my app developed using SDK 6.0 on simulator. Now i want to test it on real device without developer program account. To do that, i use Jailcoder. I have an iPhone 3GS, with AppSync 5.0+ installed. I have tried "Quick XCode Patch" and "Patch My Project". However i still get signing error. It said,
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 6.0'
Seems it due to iOS 6.0 SDK that has not been supporting jailbroken devices. I need some hints and workarounds to deal with this error.
I had same problem with a jailbroken iPhone 4S, solution above didn't work for me.
So for anyone else running into the same error message:
JailCoder does work on XCode 4.5 + Mac OS 10.8.
As an absolute noob I was missing the step 8 from this guide: Developing for a Jailbroken iPhone A to Z:
...link the device and computer. Plug your iPhone in and open Xcode.
Open Window>Organizer. Select the device from the list on the left
hand side, and click “Use for development.” You’ll be prompted for a
provisioning website login, click cancel. It’s there to make
legitimate provisioning easier, but doesn’t make illegitimate
not-provisioning more difficult.
By default, Xcode requires iOS apps to be signed. However, there is a plist file that Xcode uses, where you can change this. You can tell Xcode that code signing is not required.
Check this file:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/SDKSettings.plist
You can edit it on your Mac with the Property List Editor application.
Make sure that in that file, CODE_SIGNING_REQUIRED is set to NO. You'll probably need to do this each time you install a new iOS SDK (e.g. 5.0, 5.1, 6.0, etc.)
You can find out more about this on the BigBoss website here. BigBoss is one of the popular Cydia repositories for distributing jailbreak apps and tweaks.

Resources