HomeStoreForumsWikiiPhone Native AppsiPhone AppsiPhone Apps modmyifone Downloadsmodmyifone Links






Go Back   ModMyiFone.com | iPhone forums, iPhone hacks, iPhone unlock > 3rd Party Apps For iPhone | iPod Touch > Native iPhone / iPod Touch App Discussion
Register FAQ Members List READ THIS Today's Posts Mark Forums Read

Native iPhone / iPod Touch App Discussion Discussion regarding Native iPhone and iPod Touch apps.


iPhone Optimized MMi | Browser Optimized MMi

Get more out of ModMyiFone by joining our free community. By registering you get privileges to download files from our downloads section and you may also post your questions in our forums! It's fast, free, and easy!

Opportunities at MMi | 1.1.4 Unlock|Jailbreak OS X / Win
Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 02-17-2008, 08:23 AM
vsc vsc is offline
What's Jailbreak?
 
Join Date: Aug 2007
Posts: 22
Thanks: 0
Thanked 2 Times in 2 Posts
How to release an app?

I have one, perhaps two applications I have been working on that are ready for release. But that said I have not been able to find documentation for the installer that defines all of the script commands, etc.

Basically how does a developer get a program packaged for release? Does the developer build the package, or does someone who is hosting perform this task?

For reference the first application puts the phone into airplane mode on a user defined schedule (e.g. nighttime). A preference application and daemon are employed. The magic here is getting the phone to wake from sleep to execute something.

The second application implements extended notifications for SMS, etc beyond the 20 seconds the phone stays awake on a wake up event (e.g. arrival of a SMS). In short the code exploits what was learned in the first application.
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #2 (permalink)  
Old 02-17-2008, 05:54 PM
iPhone? More like MyPhone
 
Join Date: Jan 2008
Posts: 208
Thanks: 14
Thanked 14 Times in 14 Posts

There is some information here: http://iphone.nullriver.com/beta/

The package itself has scripts in it, and Installer simply executes them. There aren't many commands used by installer itself. I'm guessing for most repositories, the person hosting will take care of that. (p_f, am I correct?)

I like the first app idea! I think on MMi, poetic folly wants you to release the .zip file to the public first, to see if it is stable, before it can be put on the MMi source.
__________________
If you like or found helpful anything I have said, please click that nice little Thanks button!
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #3 (permalink)  
Old 02-24-2008, 09:08 PM
poetic_folly's Avatar
I Own This Place
 
Join Date: May 2007
Device + Firmware: iPhone | 1.1.4 | Unlocked
Operating System: OS X Leopard 10.5.2
Posts: 7,099
Thanks: 175
Thanked 1,081 Times in 594 Posts

Yes, we do not release untested software on the public source. Once we've had a few testers without major issues, we can release publicly.
__________________


↑ ↑ ↓ ↓ ← → ← → B A B A [select] [start]
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #4 (permalink)  
Old 02-28-2008, 04:43 PM
iPhone? More like MyPhone
 
Join Date: Sep 2007
Device + Firmware: 1.1.4 & 2.0
Operating System: Fedora, Leopard, & XP MCE
Posts: 171
Thanks: 4
Thanked 36 Times in 21 Posts
Send a message via AIM to robbpell

attach the zip here are in a new thread and explain what it does and what its for and im sure people will try it out but give proper warnings if needed
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #5 (permalink)  
Old 03-02-2008, 06:40 AM
vsc vsc is offline
What's Jailbreak?
 
Join Date: Aug 2007
Posts: 22
Thanks: 0
Thanked 2 Times in 2 Posts
Auto Airplane Mode - iPhone Versions 1.1.3 or later

Updated:

Latest code in this post. Fixed bug that prevented airplane mode from being activated if an iPhone alarm is set. Note that the preference file was corrupt and the updated code should clean that up on its own the first time you hit the save button.

-----

Attached is an application to put the iPhone into airplane mode on a user defined nightly schedule. The software has been tested for several months and it is ready for a wider audience.

The components are a daemon invoked by launchd, a launchd plist and a GUI preferences application (screen shot below) to permit the user to enable/disable the daemon, as well as configure the enable and disable airplane mode times. Note that the enable / disable event always occurs on the hour.

The version attached only supports iPhone version 1.1.3 or 1.1.4.

To install the software unzip the attached zip and upload the files to the iPhone with the following locations,

AirplaneMode -> /sbin
com.mode.plist -> /Library/LaunchDaemons
com.mode.tz.plist -> /Library/LaunchDaemons
AutoMode.app -> /Applications

If one is using scp the following should accomplish this task,

Quote:
scp AirplaneMode root@ipaddr:/sbin
scp com.mode.plist root@ipaddr:/Library/LaunchDaemons
scp com.mode.tz.plist root@ipaddr:/Library/LaunchDaemons
scp -r AutoMode.app root@ipaddr:/Applications
Once the code is copied up to the iPhone, restart SpringBoard to get the preferences application to show up. Fire up the preferences app, set the enable / disable times, select enable and press save.

In limited alpha testing to date only one issue came up. If you find that the enable setting does not save, check that AirplaneMode has execute permission. If the preferences application refuses to execute, most likely execute permission was lost in uploading the app to the phone.


Attached Thumbnails
 
Attached Files
AirplaneV1_4.zip (24.2 KB, 134 views)

Last edited by vsc : 04-05-2008 at 07:10 AM.
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
The Following User Says Thank You to vsc For This Useful Post:
iPhoneFrank (04-01-2008)
  #6 (permalink)  
Old 03-02-2008, 06:46 AM
iPhone? More like MyPhone
 
Join Date: Jan 2008
Posts: 208
Thanks: 14
Thanked 14 Times in 14 Posts

looks pretty good! I'll try it out when I get my new router. Mine died :-(

Setting permissions really can't be considered an "issue". Most apps require you to do that.
__________________
If you like or found helpful anything I have said, please click that nice little Thanks button!
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #7 (permalink)  
Old 03-02-2008, 07:49 AM
vsc vsc is offline
What's Jailbreak?
 
Join Date: Aug 2007
Posts: 22
Thanks: 0
Thanked 2 Times in 2 Posts
Unread SMS / Email and Unanswered Phone Call Reminder - Versions 1.1.3 or Later Only

Attached is an application that provides reminders when an unread SMS message / email or unanswered phone call occurs on the iPhone. Configurable options are status bar icons, periodic vibration events or audio playback of a ring tone. For vibration and ring tone playback the user can select the interval and number of cycles.

This code is early beta quality at this juncture and has been tested on 1.1.3 and 1.1.4.

Notable is that for vibration and ringtone playback the iPhone is setup to prevent sleep until user selected cycles are completed. Only then is the iPhone permitted to return to sleep. (Note that this was a problem with Nate True's scheme based upon a shell script.)

As background the concept behind the architecture of this software is the use of launchd to start the daemon when a database file changes (e.g. SMS, email or phone call). The daemon provides event specific reminders based upon configuration via command line switches. At this juncture the configuration is based upon the contents of the launchd plists.

Attached is a zip file with the daemon and two directories. The first directory contains the status bar icons which must be copied, as shown below, into the Springboard directory. The second directory contains plists for launchd which serve to launch the daemon when a database file changes.

Once the zip file is unpacked the files need to be copied as follows,

Quote:
Reminder -> /sbin
Default_CALLT.png -> /System/Library/CoreServices/SpringBoard.app
Default_EMAILT.png -> /System/Library/CoreServices/SpringBoard.app
Default_SMST.png -> /System/Library/CoreServices/SpringBoard.app
FSO_CALLT.png -> /System/Library/CoreServices/SpringBoard.app
FSO_EMAILT.png -> /System/Library/CoreServices/SpringBoard.app
FSO_SMST.png -> /System/Library/CoreServices/SpringBoard.app
com.mailReminder.plist -> /Library/LaunchDaemons
com.phoneReminder.plist -> /Library/LaunchDaemons
com.smsReminder.plist -> /Library/LaunchDaemons
Springboard must be restarted for the status bar icons to be noticed. Restart the iPhone, or use "SysInfo" to "respring" Springboard.

Next using UICTL, or launchctl, the daemon must be enabled for each reminder class (mail, phone and sms). If you use launchctl on the iPhone then the following should be executed in the LaunchDaemons directory,

Quote:
cd /Library/LaunchDaemons
launchctl load -w com.mailReminder.plist
launchctl load -w com.phoneReminder.plist
launchctl load -w com.smsReminder.plist
To disable reminder either use UICTL or launchctl as follows,

Quote:
cd //Library/LaunchDaemons
launchctl unload -w com.mailReminder.plist
launchctl unload -w com.phoneReminder.plist
launchctl unload -w com.smsReminder.plist
Command line arguments to the reminder daemon are,

Code:
Usage: Reminder [OPTION]
-i	xx	Interval in seconds between events
-c	xx	Number of events
-v		Vibrate at event time
-r	xx	Play ringtone name at event time
-s		SMS Reminder
-p		Unanswered phone call reminder
-m		Unread mail reminder
-d		Delete icons from status bar
An example launchctl plist is the SMS plist shown below. Two arguments are provided to the reminder daemon, "-s" and "-r". The "-s" tells the daemon that a SMS event occurred and "-r" followed by a ringtone name indicates that the ringtone should be played periodically.


HTML Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>com.smsReminder</string>
	<key>OnDemand</key>
	<true/>
	<key>ProgramArguments</key>
	<array>
		<string>/sbin/Reminder</string>
		<string>-s</string>
		<string>-r</string>
		<string>Harp</string>
	</array>
	<key>StandardErrorPath</key>
	<string>/dev/null</string>
	<key>StandardOutPath</key>
	<string>/dev/null</string>
	<key>UserName</key>
	<string>mobile</string>
	<key>WatchPaths</key>
	<array>
		<string>/var/mobile/Library/SMS/sms.db</string>
	</array>
</dict>
</plist>

Limitations / Issues / Other Notes:

1) Ringtones must reside in /Library/Ringtones. This could change if people want to supply a full path to the file.
2) The email database can be locked by the iPhone for extended periods of time, thus preventing the daemon from accessing the database file. The daemon retries a number of times to access the database, but if it never gets access the reminder does not occur.
3) The default reminder interval is 15 seconds and the count is 4. Use "-i" and "-c" to specify an alternative interval and/or count.
4) The code is event based. As such it only uses power when a sms, phone call, email event occurs.
5) The "-d" command line switch is for debug and wouldn't be used in the launchd plist.
6) The code only supports iPhone version 1.1.3 or later.
7) Each of the sample plists in the AudioReminder subdirectory has an arbitrary ringtone specified. Edit the plist, unload and reload the daemon (or reboot the iPhone) for the change to take effect.
8) No code from "taskbar notifier" was employed in this effort. This effort was based upon limitations found in Nate True's shell script approach.

Deinstall:

To deinstall reminder unload each reminder class as shown above using UICTL or launchctl with the unload -w arguments. Once the daemon has be unloaded, delete the files from the install locations.

Acknowledgments:
Erica Sadun - Provided help on the status bar icon code.
stuart.william.taylor - Status bar icons.
Attached Files
Reminder.zip (30.1 KB, 43 views)

Last edited by vsc : 03-02-2008 at 10:10 AM.
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #8 (permalink)  
Old 03-04-2008, 10:41 AM
What's Jailbreak?
 
Join Date: Mar 2008
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts

Can this APP be installed on an iPhone that has not been jailbroken or unlocked?
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #9 (permalink)  
Old 03-04-2008, 10:51 AM
Eurisko's Avatar
Moderator
 
Join Date: Aug 2007
Device + Firmware: iPhone 1.1.4 - unlocked
Operating System: Mac OSX
Location: Toronto, Canada
Posts: 2,007
Thanks: 5
Thanked 341 Times in 300 Posts

Quote:
Originally Posted by patriotman21 View Post
Can this APP be installed on an iPhone that has not been jailbroken or unlocked?
Until the SDK comes out and Developers can install through iTunes, no modifications can be made to the iPhone without being jailbroken.
__________________
If you found anything I wrote useful, honor me with a Thanks
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #10 (permalink)  
Old 03-04-2008, 12:03 PM
iPhone? More like MyPhone
 
Join Date: Oct 2007
Posts: 167
Thanks: 16
Thanked 14 Times in 10 Posts

Quote:
Originally Posted by vsc View Post
Attached is an application to put the iPhone into airplane mode on a user defined nightly schedule. The software has been tested for several months and it is ready for a wider audience.

The components are a daemon invoked by launchd, a launchd plist and a GUI preferences application (screen shot below) to permit the user to enable/disable the daemon, as well as configure the enable and disable airplane mode times. Note that the enable / disable event always occurs on the hour.

The version attached only supports iPhone version 1.1.3 or 1.1.4.

To install the software unzip the attached zip and upload the files to the iPhone with the following locations,

AirplaneMode -> /sbin
com.mode.plist -> /Library/LaunchDaemons
AutoMode.app -> /Applications

If one is using scp the following should accomplish this task,



Once the code is copied up to the iPhone, restart SpringBoard to get the preferences application to show up. Fire up the preferences app, set the enable / disable times, select enable and press save.

In limited alpha testing to date only one issue came up. If you find that the enable setting does not save, check that AirplaneMode has execute permission. If the preferences application refuses to execute, most likely execute permission was lost in uploading the app to the phone.

hey,
Really great app, will check it on 1.1.4 and post the results. Also can u please improve the interface like replace the Enable option with an Option for enable disable airplane mode as in Preferences.
Also please give the liberty to choose the exat time to enable and disable like the one in the iphone's clock for setting alarm. Please improve these things to make this app perfect.
thanks
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #11 (permalink)  
Old 03-04-2008, 07:37 PM
vsc vsc is offline
What's Jailbreak?
 
Join Date: Aug 2007
Posts: 22
Thanks: 0
Thanked 2 Times in 2 Posts

I would have liked to add to the stock preferences application. In fact it would have been less work on my part. But that said right now there doesn't seem to be a way to deconflict additions with what other developers might be adding.

Using a time picker (what you suggested) for enable / disable times is on the top of my list with regard to changes to the application. I'm on travel on and off for the next two weeks, so release depends on getting enough time on my mac pro.

Quote:
Originally Posted by eternal View Post
hey,
Really great app, will check it on 1.1.4 and post the results. Also can u please improve the interface like replace the Enable option with an Option for enable disable airplane mode as in Preferences.
Also please give the liberty to choose the exat time to enable and disable like the one in the iphone's clock for setting alarm. Please improve these things to make this app perfect.
thanks
Quote:
Originally Posted by Eurisko View Post
Until the SDK comes out and Developers can install through iTunes, no modifications can be made to the iPhone without being jailbroken.
Concur

Last edited by vsc : 03-04-2008 at 07:37 PM. Reason: Automerged Doublepost
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #12 (permalink)  
Old 03-05-2008, 03:44 AM
iPhone? More like MyPhone
 
Join Date: Oct 2007
Posts: 167
Thanks: 16
Thanked 14 Times in 10 Posts

hey,
thanks for the quick reply, also i have noticed that when the app starts airplane and the I adjust the clock to time in which in which it has to get out of it for testing purpose it still is in airplane. maybe this is because your app uses an inbuilt timer and set to sleep mode for the time difference between the starting point and ending point and this timer does not get adjusted with the iphone clock.so please make it work according to the iphone clock and not an inbuilt timer.
thanks
thanks

hey,
thanks for the quick reply, also i have noticed that when the app starts airplane and the I adjust the clock to time in which in which it has to get out of it for testing purpose it still is in airplane. maybe this is because your app uses an inbuilt timer and set to sleep mode for the time difference between the starting point and ending point and this timer does not get adjusted with the iphone clock.so please make it work according to the iphone clock and not an inbuilt timer.
thanks

Last edited by eternal : 03-05-2008 at 03:44 AM. Reason: Automerged Doublepost
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #13 (permalink)  
Old 03-05-2008, 02:43 PM
vsc vsc is offline
What's Jailbreak?
 
Join Date: Aug 2007
Posts: 22
Thanks: 0
Thanked 2 Times in 2 Posts

I'm not sure what you are getting at.

When an event occurs the next event is scheduled at that time. If during the period between events you cross into another time zone, adjust the iPhone's clock, etc the schedule event might not occur at the expected time. For example you cross a time zone and there is a 2 hour difference between what the phone scheduled and the time in the new zone. Then the event will occur with a 2 hour error. There is little hope of fixing this right now, that is unless I figure out where the zone is stored.

Quote:
Originally Posted by eternal View Post
hey,
thanks for the quick reply, also i have noticed that when the app starts airplane and the I adjust the clock to time in which in which it has to get out of it for testing purpose it still is in airplane. maybe this is because your app uses an inbuilt timer and set to sleep mode for the time difference between the starting point and ending point and this timer does not get adjusted with the iphone clock.so please make it work according to the iphone clock and not an inbuilt timer.
thanks
thanks
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #14 (permalink)  
Old 03-05-2008, 06:14 PM
iPhone? More like MyPhone
 
Join Date: Oct 2007
Posts: 167
Thanks: 16
Thanked 14 Times in 10 Posts

Quote:
Originally Posted by vsc View Post
I'm not sure what you are getting at.

When an event occurs the next event is scheduled at that time. If during the period between events you cross into another time zone, adjust the iPhone's clock, etc the schedule event might not occur at the expected time. For example you cross a time zone and there is a 2 hour difference between what the phone scheduled and the time in the new zone. Then the event will occur with a 2 hour error. There is little hope of fixing this right now, that is unless I figure out where the zone is stored.
hey,
that is what I was talking about. please fix it asap. and by the way there is 12pm in the enable category which should be changed to 12 am.
thanks
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
  #15 (permalink)  
Old 03-06-2008, 06:21 PM
vsc vsc is offline
What's Jailbreak?
 
Join Date: Aug 2007
Posts: 22
Thanks: 0
Thanked 2 Times in 2 Posts

Update: Latest code attached to the first post in this thread.


Bugged me as well. Here is a cut at the time zone issue. Note that the code is tested in the sense that it won't do anything bad, but I can't test changing time zones for real without traveling.

To install use the prefs app and set enable to no. Copy the files into place as before and set enable to yes.

Note that there is one new file that needs to be placed as follows,

com.mode.tz.plist -> /Library/LaunchDaemons

When the phone changes the time zone the daemon will relaunch and adjust the next event to occur at the proper time within the new time zone.

Seems to work properly when I force a zone change, but as cited above I can't test it fully until I travel outside of my current time zone.

Tell me the results.


Quote:
Originally Posted by eternal View Post
hey,
that is what I was talking about. please fix it asap. and by the way there is 12pm in the enable category which should be changed to 12 am.
thanks

Last edited by vsc : 04-05-2008 at 06:57 AM.
Digg StumbleUpon Delicious Reddit Newsvine Google Yahoo Thanks Reply With Quote
Reply

  ModMyiFone.com | iPhone forums, iPhone hacks, iPhone unlock > 3rd Party Apps For iPhone | iPod Touch > Native iPhone / iPod Touch App Discussion


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On

ModMyMoto.com - ModMyGPhone.com - ModMyiFone.com - Managed Dedicated Servers by SingleHop - iPhone Wallpapers - Contact Us - Link to us - Archive - Privacy Statement - - Top
All times are GMT -6. The time now is 04:34 PM. Powered by vBulletin® Version 3.6.10
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5 Copyright © 2007-08, ModMyiFone.com Forum skin by poetic_folly
ModMyiFone.com is an independent publication and has not been authorized, sponsored, or otherwise approved by Apple, Inc or Cisco Systems, Inc. The information contained on this site is for educational purposes only.