Deploying iOS App in Xcode 4.3+ without certificate - ios

Hello all!
I want to test how my Cordova-ported apps run on real device, and if I like performance, I'll buy Apple Developer Certificate. But now I dont want to waste hundred bucks just to see my webapps running slow and ugly as shit. I've looked through all that forums and also here on stackoverflow, and all solutions seem to relate to iOS SDK 4.2 and earlier.
And what about Xcode 4.3+?
I've edited /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist and also turned out code signing in project settings.
I've got two MyProject.app's from "Build for Running" and "Build for Archiving" and tried to sync them to my iPod touch 4 via iTunes, but in both cases app crashes immediately after launch.
I also extracted .ipa from iTunes and tried to install it via Installous, but got the same problem. Thing crashes.
I also got .xcarchive via Product->Archive but don't know what is to be done next with it..
So, question is here: how can I deploy my own app to my own jailbroken iPod touch?
Thank you.

I would suggest you to take a look at JailCoder.
It allows you to Debug your app made with XCode on a real device without a developer account.
Please keep in mind such solution should only be temporary. If it runs well and you want to do further developing / deployment consider buying a Developer account.

On jailbroken iDevices, Cydia (and other dpkg installers) install apps to /private/Applications/
So why not try:
/Applications/MyProject.app
Then open a terminal on the device and navigate to /Applications:
chmod -777 MyProject.app
chown root MyProject.app

Related

Run any app in iOS 10+ from command line without jailbreaking

Is there a way to run any app in iOS 10+ from command line/Mac without jailbreaking?
Re-signing and none of the existing tools seem to work (ios-deploy, Instruments) nor have I been able to find a way via iTunes or other programs.
Yes it is possible for any App you have the source code for.
No it is not possible for any App you acquired from the App store or direct download.
Not quite sure I fully understand your emphasis on any app, but here is what I understand:
1) If you mean you want to run any app from the app store that can currently be downloaded, and you have a .ipa file, you can definitely install it manually to another device using this method (iTunes drag and drop)
2) If, however, you're trying to run an .ipa on a Simulator, that's not possible, as described by this answer.
3) Lastly, if you have source, which I'm confused about since you mention re-signing, then you can easily build that source into an executable for either Simulator or device using either Xcode, or since you asked about command line, you could also use xcodebuild, info found here
I hope one of these 3 options is what you're looking for, as it's hard to tell from the wording of the question. If it's not, expanding on exactly what use case you're trying to resolve would be very helpful.
From the comments in #BHendricks answer, it seems you want to use the command line on your computer to start apps that are installed on an iOS 10+ device.
This is not possible without jailbreaking the phone!
On a jailbroken phone it might be possible to write something that connects over ssh and starts apps, but on vanilla iOS this is disabled for security. You could search for an app that you can send commands, but I highly doubt iOS apps have access to system features like starting other apps, as this is also a large security risk.
If you have the ipa, you can install the app via iTunes. This is what we used to ask QAs to test apps on devices and it works fine. Please refer to this [SO] for detail Install IPA with iTunes 12.
Use Cydia Impactor (cydiaimpactor.com) to sign the app. 99% chance it will work

iOS app stops working, profile is deleted

I'm currently developing an app for iOS using swift and I've noticed recently that after I install the app on my iPhone, it will work for some time but after a bit it just won't launch anymore and the profile under General > Profiles & Device Management > has been deleted and I have to plug my phone to my computer to re-run it.
Is there a particular reason why this would happen or is there a way around this?
Edit: I have not yet bought a developer membership, I simply wanted to know if there is a way without it.
It's because the build that you have on your phone has a limit to the amount of time that the Development profile is available on your device. It's usually up to 5 days or so, (if it's significantly shorter than that, you may have an issue) so that you can take your device home and play with it if need be and return to the office and fix any issues you find.
I'm not actually sure that there is any way to lengthen this development build time but yes that's why it won't reopen and why you'd have to re-install your application to a device to continue to test. I think it has something to do with the Apple Developers Provisioning Profiles.
Could it be because you have not bought a developer program membership? I'm pretty sure that when you install an app to your phone using the free trial membership, you get this time limit on your wildcard profile.
The "way around it" is to attach the phone to the computer and build and run on the device again.

Build on device from Xcode versus downloaded from TestFlight - Issues

I have an issue when running my project on my device, but only if it has been downloaded from testFlight. It works fine when I build directly from Xcode to device.
Potentially relevant details -
Using AVCaptureSession, my app records segments of video where it can switch between front/rear camera etc. I have handled orientation of each video so when playing back or merging with multiple videos they all play the correct way round.
The playback orientation works as expected on my devices when I've built directly from Xcode. Though from the app dowloaded from Testflight, the orientation of the videos are wrong way round.
Devices used iPhone 5S - 8.1 & iPad 2 7.1
As mentioned, this is only an issue from TestFlight builds. I've not posted any code as logic works fine from Xcode. I have used TestFlight a lot over the past year and not come across an issue like this before. It only seems isolated to this video playback.
If anyone has had similar issues and knows how to resolve or has suggestion, that would be much appreciated.
I discovered why my testFlight build was acting different from my Xcode build and it all came down to Build Configuration settings within Xcode
I edited scheme which which brought up build options and within the Run option I changed Build Configuration from Debug to Release.
Although this never solved the video issue, it did allow the app to act as it would on release. I will now be able to continue test of my issue, but thought other people experiencing differences in their Xcode and test builds may wish to know about this setting.
Do you happen to be using Swift. Apple changed their certs and added an extra field as part of the process. Existing certs do not work when including external libraries that include Swift code. I lost a good chunk of time to this. Here is the explanation form TestFlight competitor AirSign.
https://www.airsignapp.com/ios-apps-using-swift-crash-when-signed-with-inhouse-certificate/
If this is the case, the conclusion is generate a new cert and a new provisioning profile using the cert. You may have to revoke your old cert if you have too many.
If you build directly from your machine you are using your development Cert. If you go through TestFlight you are using you distribution cert. What happens if you take the distribution ipa that you are about to upload to TestFlight and try to install that directly onto you device. IF you can not install the app then there is an issue with your distribution cert. I also assume you tried building a new hello world type app and going through TestFlight and then adding AVCaptureSession in a new build of the app and trying that.
To make my life easier I use iFunBox to directly install test ipas directly on my machine bypassing iTunes. Great free app. Just launch, Choose Install on Device and choose the ipa
http://www.i-funbox.com/ifunboxmac/

Is it possible to distribute an iOS app for simulator testing on MacOS?

I'm in the early alpha stages of an iOS app and I'd like to be able to deploy it to some non-technical people within my company for early feedback. It's premature to deploy it to physical devices, and not all the people have them anyway.
What I'd like to do is somehow install the iOS .app file into the simulator app, and bundle that into a MacOS .app file that I can just email to people and have them run just by clicking on it.
Second best, but acceptable, would be to have the users install Xcode and have a way to send them the iOS .app file and have some sort of script that would load the app into the already installed simulator app.
This seems like it ought to be possible, but I can't find any way to accomplish it.
Note: There is a LOT of advice online about things like TestFlight or Over-The-Air apps, but that involves the physical hardware, which is not what I'm trying to do here.
Following the idea in this SO answer, I used SimLaunch, which packages your iOS .app file into a MacOS .app file. The recipient has to install Xcode, but once that's done, he/she just runs the app and the app invokes the simulator, with your iOS app installed. It totally works.
One potentially tricky thing: when you run SimLaunch, it asks you for the location of your iOS app. When you tell it, it creates the output MacOS app in the same location, with a file name like YourApp (iPhone Simulator).app, but doesn't give any message telling you this, and it says running, so it looks like the app is just frozen. In fact, it's done and waiting for more work, but it took me a while to realize this.

iOS apps without developer license / app store

I'm new to iPhone development and was wondering if there is a good/easy guide I could follow to install an iOS app on a jailbroken phone without joining the developer program.
Basically, I don't know if I'm going to have the time to learn everything I need to learn, but would like to make a start and see where it leads. Once I have something decent put together I can make plans to go through official channels.
I followed a guide that I found in SO, but when launching the app it immediately dies/crashes back to the springboard. So I can only assume I did something wrong, or the guide is outdated.
I'm using iOS 4.3.3 and xCode 4.
here is the link to the guide I followed: iPhone App Minus App Store?
Thanks
Just to get the warning away.
I just found a guide that worked for me: How can I deploy an iPhone application from Xcode to a real iPhone device?. all I had to do was change the 4.2 in one of the commands to 4.3
With Xcode 7 it's now free to run your apps on your iPhone, iPad or Apple Watch (beta): https://developer.apple.com/xcode/
Now everyone can get their app on their Apple device. Xcode 7 and
Swift now make it easier for everyone to build apps and run them
directly on their Apple devices. Simply sign in with your Apple ID,
and turn your idea into an app that you can touch on your iPad,
iPhone, or Apple Watch. Download Xcode 7 beta and try it yourself
today. Program membership is not required.
This isn't my own method, but I thought I'd help you out since I've just read this elsewhere:
Answer by WrightsCS
There's a way you can do this.
You will need ROOT access to edit the following file.
Navigation to /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk and open the file SDKSettings.plist.
In that file, expand DefaultProperties and change CODE_SIGNING_REQUIRED to NO, while you are there, you can also change ENTITLEMENTS_REQUIRED to NO also.
You will have to restart Xcode for the changes to take effect. Also, you must do this for every .sdk you want to be able to run on device.
Now, in your project settings, you can change Code Signing Identity to Don't Code Sign.
Your app should now build and install on your device successfully."

Resources