Wednesday, September 4, 2013
Quick Tip: Replace iPhone signal bars with numbers
*No Jailbreak Required!*
Works for iPhone 4, iPhone 4S, and iPhone 5
How to change bars to numbers:
1) Open Phone app
2) Dial the following number exactly (need to enter stars and pounds): *3001#12345#*. Press call
3) You will now be in Field Test mode. In the upper left corner their should be numbers instead of bars. If not tap the bars to enable the numbers. Don't press home or turn off phone yet!
*Continue if you want it to be permanent. If you don't want it to be press home. You can remove it if you continue on, but their is a different way to do that.*
4) Hold down power button (still on the Field Test) until you see 'slide to turn power off' with red arrow.
5) Don't actually slide to turn the power off! Instead, hold down the home button until the Field Test closes and you return home.
6) That's all! Hope it works for you!
The meaning behind the negative numbers: Technically, it is 'the logarithmic unit used to express the ratio between two values of a physical quantity (usually measured in units of power or intensity)'. Basically, it measures the iPhones signal power. All you need to know is the lower the negative number is, the stronger signal strength you have. The higher negative number, the weaker signal strength you have.
Tuesday, August 20, 2013
Verizon Bringing Service to 36 NYC subway Stations
Big Red is also participating in phase two of Transit's coverage project. This phase brings coverage to 40 new stations, including Grand Central, Herald Square, and Bryant Park, in early 2014.
Thursday, August 15, 2013
iOS 7 Beta 6 Now Available OTA
Address Book
Notes
- The classes in the
AddressBookUIframework now explicitly disallow subclassing. For apps linked against the iOS 7 SDK, attempting to initialize a subclass of one of these classes returns nil. For apps linked against older SDKs, the only behavior change is a warning logged to the console.
- As of Seed 4, privacy support for the
AddressBookUIframework is reenabled for apps linked against the iOS 7 SDK. Apps linked against older SDKs are not changed. If your app uses any of the Address Book view controllers, you should verify that it still behaves as expected.AirDrop
Notes
- AirDrop in iOS 7 Seed 2 or later is not compatible with AirDrop in iOS 7 Seed 1.
- Contacts Only support requires that:
- You are logged in to iCloud.
- The sender and receiver have each other’s Apple ID email addresses in Contacts on their devices.
AV Foundation
Notes
AVCaptureSessionnow uses your app’sAVAudioSessionby default.Core Animation
Notes
When theUIViewGroupOpacitykey is not present, the default value is now YES. The default was previously NO.
This means that subviews of a transparent view will first be composited onto that transparent view, then the precomposited subtree will be drawn as a whole onto the background. A NO setting results in less expensive, but also less accurate, compositing: each view in the transparent subtree is composited onto what’s underneath it, according to the parent’s opacity, in the normal painter’s algorithm order.Exchange
Notes
In Seed 4 and later, the Exchange DeviceIdentifier has been changed back to the behavior of iOS 6 where it uses the serial number.Fonts
Notes
New font line heights were introduced in Seed 4. If you had manually aligned your font in earlier seeds, it may move slightly up vertically in later seeds.Foundation
Notes
- An
NSMetadataQuerywith ubiquitous scope can now usekMDItemContentTypeTreein predicates. For example:
NSPredicate *p = [NSComparisonPredicate
predicateWithLeftExpression:[NSExpression expressionForKeyPath:@"kMDItemContentTypeTree"]
rightExpression:[NSExpression expressionForConstantValue:@"public.rtf"]
modifier: NSAnyPredicateModifier
type:NSLikePredicateOperatorType
options:0];
- When called on results returned by queries with ubiquitous scopes,
-[NSMetadataItem valueForAttribute:NSMetadataItemDisplayNameKey]now produces the same value as-[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], matching nonubiquitous queries.iCloud
Notes
- If you use iCloud Keychain with recovery, you may see a dialog indicating recovery has been disabled due to a server change. This is intentional. To reenable functionality, follow the instructions in the notification. If you see multiple alerts or observe issues with reenabling recovery, please file a bug report.
- iCloud Keychain in iOS 7 Seed 3 or later is not backward compatible with iOS 7 Seed 2 or OS X Mavericks Seed 2.
If you had iCloud Keychain and/or Keychain Restore enabled from iOS 7 Seed 2, both features are disabled upon updating to iOS 7 Seed 3 or later.
After updating to iOS 7 Seed 3 or later, go to Settings > iCloud > Keychain and reenable iCloud Keychain on your devices.
See OS X v10.9 Release Notes for more details.
- Activation Lock, a new feature of Find My iPhone, is turned on automatically when Find My iPhone is enabled on any device running iOS 7. Activation Lock requires users to enter their Apple ID and password to turn off Find My iPhone, sign out of iCloud, erase the device, or reactivate the device after an erase. It’s important to do one of the following before transferring a device to a new user:
- Sign out of iCloud.
- Turn off Activation Lock in Settings > iCloud > Find My iPhone.
Known Issues
Password fields are not displayed in alert views for apps in landscape (for example, Game Center authentication or In-App Purchase). Text entry still works, though you can’t see what you are typing.MapKit
Notes
If the calls torenderInContexton the layer backing anMKMapVieware made off the main thread, they should be eliminated or moved to the main thread. Failure to do so can cause an app crash. Instead of usingrenderInContext, use the newMKMapSnapshotterAPIs.Media
Notes
iOS now remembers the last used media app across reboot and app crashes. Media apps that can receive remote control events should be prepared to be launched in the background and potentially receive a remote control event to begin playback. Additionally, it’s important that media apps monitor and handle the media server reset event, since the media app may receive a remote request to resume playback after a reset. Notifications to monitor these media server events are available inAVAudioSessionand proper handling is described in General recommendations for handling kAudioSessionProperty_ServerDied.Multipeer Connectivity
Notes
TheMCSessionAPIs function as they were presented at WWDC. Major changes and enhancements include:
- The following new method on
MCSessionhas been implemented:This delegate method has been implemented:
- (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID *)peerID error:(NSError **)error
- (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID
- The following new method on
MCSessionhas been implemented:The delegate method to start receiving a resource from remote peer has been implemented as:
- (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString *)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError *error))completionHandlerThe delegate method to finish receiving a resource from remote peer and save the content in a temporary location is implemented as:
- (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress
- (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:(NSError *)error
MCAdvertiserAssistantis a convenience class for implementing an Advertiser, which handles invitations and connections to anMCSession.
MCSessionhas a newinitWithPeer:method.
sendResourcehas added “with” to thecompletionHandler.
- The timeout has been removed from
connectPeer:withNearbyConnectionData.
For more information on these APIs, watch the video for WWDC 2013 Session 708, “Nearby Networking with Multipeer Connectivity.”Multitasking
Notes
AVAudioSessioncan no longer become active by apps in the background that wake due to Background Fetch, Background Transfers, and Remote Notification events.
- The policy for the task completion API has changed back to match the iOS 6 behavior, but the time limit for task completion has decreased from 10 minutes in iOS 6.
Networking
Notes
- The cellular fallback technology present in previous seeds has been removed as of Seed 5.
- Two low-level networking APIs that used to return a MAC address now return the fixed value 02:00:00:00:00:00. The APIs in question are
sysctl (NET_RT_IFLIST)andioctl (SIOCGIFCONF). Developers using the value of the MAC address should migrate to identifiers such as-[UIDevice identifierForVendor]. This change affects all apps running on iOS 7.Objective-C Runtime
Notes
Due to changes in how theisafield is implemented,*selfmay change during enumeration (for example, if the container is retained).
Workaround: When implementingcountByEnumeratingWithState, do not setstate->mutationsPtr = self.Passbook
Notes
- As of iOS 7 Seed 4, Passbook has added support for the major and minor fields to better match the rest of the iBeacon ecosystem. The new
majorandminorkeys are independently variable optional alongsideproximityUUID(required) in each dictionary in thebeaconsarray.
- In previous versions of the iOS SDK, Passbook did not validate the back fields on passes completely. The validation rules have not changed, but validation is now including back fields. Please check the console log for additional logs.
- As of iOS 7 Seed 3,
PKPassLibraryDidCancelAddPassesis a new status code in thePKPassLibraryAddPassesStatusenum. It signifies that the user tapped Cancel in an add-passes alert.Photos
Notes
Upon upgrading from an earlier seed, photo thumbnails in the Photos app will not appear for a short while.Security
Notes
-[UIDevice uniqueIdentifier]is no longer accepted in submissions to the App Store. In iOS 7, apps that are already on the store or on users’ devices that call this removed API will no longer be returned the UDID. Instead,-[UIDevice uniqueIdentifier]will return a 40-character string starting with FFFFFFFF, followed by the hex value of-[UIDevice identifierForVendor]. It is important to consider how this will affect existing apps. Consider submitting updates that no longer access the UDID.
- iOS now requests user consent for apps to use audio input on all iOS 7 devices. For devices sold in China, iOS will also request user consent for apps to use the camera hardware. The operating system will present the consent alert when you set the category of the instantiated
AVAudioSession. TheAVAudioSessioncategories that will present the alert areAVAudioSessionCategoryRecordandAVAudioSessionCategoryPlayAndRecord.
If the user doesn’t allow access, the audio session data will be all zeros (silence). For devices where camera access is requested and denied by the user, the video capture session is a black screen.
- The API
gethostuuid()has been removed and will not be accepted for submission to the store, regardless of the targeted OS. For existing apps running on iOS 7, the function will return auuid_t representation of the vendor identifier (-[UIDevice identifierForVendor]).Siri
Notes
This seed includes development versions of new male and female Siri voices for U.S. English, French, and German.Social
Notes
- Through iOS 6, when using
TWTweetComposeViewControllerandSLComposeViewController(the latter only for Twitter and Weibo, but not Facebook), if the caller supplies acompletionHandler, the suppliedcompletionHandleris responsible for dismissing the view controller. As of iOS 7, if the app links against the iOS 7 SDK, the view controller will dismiss itself even if the caller supplies acompletionHandler. To avoid this, the caller’scompletionHandlershould not dismiss the view controller.
- When using the iOS 6.1 SDK on OS X v10.8 Mountain Lion, if you use the iOS 5.0 or iOS 5.1 Legacy SDK in iOS Simulator, you will not be able to use Twitter features: attempting to sign in to Twitter via the Settings pane will fail, and
Twitter.frameworkwill not work correctly. If you need to test Twitter features, you will need to choose either an iOS 6.1 or iOS 6.0 Simulator run destination, or you can test with iOS 5.x on a device.Springboard
Notes
- Active touches are no longer canceled when the user takes a screenshot.
- Dynamic wallpaper is not available on iPhone 4.
Sprite Kit
Notes
+[AVPlayer playerWithPlayerItem:]returns anAVPlayerobject, but the current item will return nil if the player was created on another thread.Stores
Known Issues
App downloads can get stuck in the “Waiting” state.
Workaround: Reboot your device once or twice to resolve the issue and allow subsequent downloads to continue.UIKit
Notes
- Before Seed 4, the snapshot API (
snapshotViewandresizableSnapshotViewFromRect:withCapInsets:) would defer taking the snapshot if the view had never been committed or had been added to the view hierarchy in the current transaction. This behavior has changed.
Snapshots now always represent the current, committed state of the view. Attempting to snapshot a view that has never been committed logs a message and now returns nil.
- Snapshotting methods have been updated and now take an argument:
afterUpdates. When set to YES, this instructs the snapshot to wait until all pending changes to the hierarchy have been committed. To maintain the pre-Seed 4 behavior, pass NO and the snapshot will capture what is currently on screen. SeeUIView.hfor more details.
- When there isn’t enough room in the navigation bar layout for the full text of the back button title, the navigation bar will substitute a generic short back title (in English, “Back”). If even that string is too long, the bar will show the back indicator chevron with no title.
+[UIPasteboard pasteboardWithName:create:]and+[UIPasteboard pasteboardWithUniqueName]now unique the given name to allow only those apps in the same application group to access the pasteboard. If the developer attempts to create a pasteboard with a name that already exists and they are not part of the same app suite, they will get their own unique and private pasteboard. Note that this does not affect the system provided pasteboards, general, and find.
- Starting with Seed 2, apps default to using the new view controller-based status bar management system. To opt out of this, add a value of NO for the
UIViewControllerBasedStatusBarAppearancekey to your Info.plist.
- When using Auto Layout to position a
UIButton, if you set the content compression resistance or content hugging priority to minimum, the button will have ambiguous layout.
Workaround: Don’t use a content compression resistance or content hugging priority of less than 2 forUIButton.
UIScreenEdgePanGestureRecognizerallows you to perform actions in response to swipes over the edge of the screen using the same heuristics that the system uses for its own gestures. Use this if you have a navigation semantic of your own that doesn’t useUINavigationControllerbut should include this gesture (e.g., Safari).
This gesture recognizer has a property that describes the edges on which it’s active.UIRectEdgeis a new enum type that this property and-[UIViewController edgesForExtendedLayout]can share.UIRectEdgereplacesUIExtendedEdge, which will be removed. The members of both have the same values. Use Xcode to replace all instances of “UIExtendedEdge” in your project with “UIRectEdge”.
UIButtonTypeInfoLight,UIButtonTypeInfoDark, andUIButtonTypeDetailDisclosurebuttons all look the same.
- Blurred layers are not available on iPhone 4.
- Parallax is not available on iPhone 4.
- Letterpress text is not available on iPhone 4.
Known Issues
Password fields are not displayed in alert views for apps in landscape (for example, Game Center authentication or In-App Purchase). Text entry still works, though you can’t see what you are typing.Weather
Notes
Weather conditions are not animated on iPhone 4.WebKit
Notes
- Previously, when the viewport parameters were modified, the old parameters were never discarded. This caused the viewport parameters to be additive.
For example, if you started with width=device-width and then changed it to initial-scale=1.0, you ended up with a computed viewport of width=device-width, initial-scale=1.0.
In iOS 7, this has been addressed. Now you end up with with a computed viewport of initial-scale=1.0.
- Previously, when using <meta name="viewport" content="initial-scale=1.0, user-scalable=1">, the scale could be incorrect after rotation.
Now, if a user has not scaled the page explicitly, the page is restored to its initial scale. Also, the current scale is now correctly restricted within themin-scale,max-scalebounds.
- Some images for Retina display devices appear at twice the size that they should instead of being scaled down 50%. This issue can also occur with any image to be scaled that is larger than its container and that uses either the
background-sizeproperty or the-webkit-background-sizeproperty. This issue affects both native apps that display web content and web pages viewed in Safari for iPhone.
ThebackgroundCSS shorthand property now resets the value of thebackground-sizeproperty toautowhen background size is not specified. This new behavior is per the CSS spec, and the old behavior is available only for apps linked to an SDK prior to iOS 7.0 when running on iOS 7 or later.
Workaround: Specify thebackground-sizeproperty or the-webkit-background-sizeproperty after thebackgroundshorthand property in the CSS stylesheet for the web content being displayed.
- Web apps and web clips created prior to Seed 4 will not stay in folders across reboot.
Workaround: Delete the old web app or web clip and recreate it in this seed by loading the content in Safari, tapping the Action button, and then “Add to Home Screen.”Wi-Fi
Notes
Seed 4 and later include changes to AWDL such that technologies that use it—such as AirDrop and the MultiPeerConnectivity APIs—will not work properly with older seeds.
Verifone's Way2Ride app lets riders NYers pay for their cab via Ultrasound
Facebook reportedly testing its own mobile purchasing program
Purchasing stuff on mobile devices is very easy, between Amazon, PayPal, and Google. According to a report from All Things D, Facebook is trying to break into the market too.
Facebook's mobile payment system which is in a limited test right now, allows shoppers to make purchases with credit cards stored in their Facebook account. Some users already have this information in the system from buying Gifts and in-game purchases. The system uses one-click mobile paying, allowing users to pay without having to type in their info.purchases on its main desktop site, which require customers to have credit card information on file. A retail company called JackThreads is currently the only company to have its hands on the platform.
It's honestly not clear what Facebook will use this new payments platform for. Maybe they will incorporate mini-stores into retail Facebook pages, like American Eagle, and others. It will be very tough for Facebook to get users to hop onto the service, because everyone is already cozy with their favorite mobile payments solution.
Wednesday, August 14, 2013
HTC Releases Full 2 Minute Ad with Robert Downey Jr.
HTC sent out a trailer for this ad on Monday, but HTC may need a new marketing department. The full two minute ad is full of awkward stunts filled with different variation of what HTC stands for. At the end, the video suggests that it stands for "Happy Telephone Company." Check the new ad out below.
Want a peek into Android 4.3? CyanogenMod 10.2 is your ticket
Monday, August 12, 2013
ZTE to sell Firefox OS phones on eBay in United States and UK
Tuesday, August 6, 2013
TextNow Launches IP mobile phone service for $19/month
Monday, August 5, 2013
Iconic.al: Bringing Life to App Icons
IT ALL WAS AN ACCIDENT
Darren Jones, developer of several iOS apps, was trying to solve a problem. One of his apps, dd-wrt lets you monitor your dd-wrt enabled routers. One of the buyers of the app suggested in the comments to add a URL scheme, allowing you to reboot your router or send Wake on LAN commands through a URL in Safari. However, there was no way to save them with a custom logo. There was either saving them on the home screen via Safari or using Launch Centre Pro. Jones thought it would be an amazing app on its own, and thus Iconic.al was born. As he was developing the app, he realized the potential in the app.
CHANGE THE ICONS
Iconic.al is an app that allows you to create shortcuts on the home screen of your iOS device, and also allows you to change the logo of other apps on your phone. Currently, 14,000 apps are supported in the logo changing aspect of the program, but more apps will be added. If you want to add your app to the list, just contact Jones and he will show you how to add the functionality.
CREATE SHORTCUTS
As well as creating the new logos, the create shortcuts feature is just as important. You can create a shortcut to call Mom or Dad. You can create a shortcut to Facetime your best friend, message your wife, and do so many other things. Over 200 apps support the creating shortcut feature. To import images, just type in the URL of the image.
SHARING
Iconic.al also allows you to share your custom icons via Facebook, Twitter, Email, and SMS. Emails and SMSes include a link which will allow the recipient to download the icon and use it him/herself. Jones hopes to be able to create a gallery of icons in the future, but that road still remains unpaved. For the icons used in the demo screenshots, check out iconic.al/themes.
DEVICE SUPPORT AND PRICING
When the app launches tomorrow, it will cost $0.99/£0.99/€0.99. That pricing will continue for the app's first week, but, after the app will take a price hike. After the first week, the app will cost $1.99/£1.49/€1.99. Iconic.al will be available on all iOS 6+ devices, but not iOS 7 Beta 4 due to a bug that blocks URL scheming. Hopefully the bug will be fixed in Beta 5, or the public release of the operating system.
SUMMARY
In conclusion, the app sounds amazing and definitely allows a new level of customization previously unseen with iOS. Iconic.al will be launching tomorrow on the App Store.
Lastly, check out below for some awesome screenshots of the app in motion.
[gallery ids="1032,1035,1034,1033,1031,1030,1029,1028,1027,1026,1025,1024,1023,1022,1021,1020,1019"]
Apple to Finish Restoring Dev Center This Week
We sincerely appreciate your patience as we work to bring our developer program services back online, and we want to give you an update on our progress. The majority of our developer services are currently online, including Certificates, Identifiers & Profiles, Dev Centers, software downloads, Videos, Apple Developer Forums, iTunes Connect, Bug Reporter, App Store Resource Center, and access to pre-release documentation.
We plan to reinstate most of the remaining services this week: Xcode automatic configuration as well as access to license agreements, TSIs, program enrollments, and renewals in Member Center. You can check the availability of these systems on our status page.
As a reminder, if your membership was set to expire during this downtime, it has been extended and your apps will remain on the App Store and Mac App Store.
We apologize for the significant inconvenience that our downtime has caused and encourage you to reach out to our support team if you need any assistance.
Sunday, August 4, 2013
Startup to add 3G Functionality to Raspberry Pi
Thursday, August 1, 2013
BREAKING: Full Moto X Coverage
- Moto X vs. Everybody Else - Includes spec strip down
- Moto X Availability and Pricing - Includes availability and pricing
- The Moto X is Out, Will it help Motorola? - Full review
Moto X Availability and Pricing
AT&T has landed a HUGE exclusive. At launch, you can only get a customized version on AT&T. To customize the phone, you have to use the Moto Maker online. Also, you can only pick between 16 back cover options, not 18. AT&T will be carrying only black and white versions at its retail stores.
On all other carriers, you can only pick between the black or white versions as of right now. Motorola will hopefully be be opening up the velvet rope to Moto Maker for other carriers soon. Regardless, the Moto X is available on all carriers, but just not with as many bells and whistles as the AT&T versions do.
The Moto X is Out, Will it help Motorola?
The Exterior
You make your phone
There are 504 versions of the Moto X. Start out by picking one of 18 back covers, either a black or white front panel, and seven colors for the side buttons and rear camera lens. You also pick between 16 and 32 GB for storage. To wrap it up, you can engrave the back of it.
You handmake your phone using the "Moto Maker" online. Even though the Moto X is available on every carrier (GSM and CDMA), the customization is only available for AT&T customers at launch. And, let's say you don't like your phone. You have up to two weeks to ship it bak and grab another one.
Made in the USA
To permit for the custom design process, Motorola has based the entire Moto X operation in Fort Worth, Texas. Bits and pieces come from 16 startes and countries from around the world, and around 2,000 workers or so assemble the phones. Motorola claims that you can order your phone, and then it will get to you in 4 days or less.
The Moto X's exterior is awesome, but the interior is a totally different story.
The Interior
The Moto X has a 4.7 inch 720p AMOLED display. The specs are very mid-range though. The phone is powered by a glorified Qualcomm Snapdragon S4 Pro chip with two custom chips for the always-on voice recognition. The phone runs Android 4.2.2 (4.3 is hiding?), with only a little of customization. A stock Android version of the phone is in the works. A $199 phone seems like a very big bet for Motorola. Hopefully, the phone will succeed.
See below for a really nice hands-on video from The Verge.
Get Pumped - Moto X is Coming
[liveblog]
Monday, July 29, 2013
Apple iOS 7 Beta 4 Released
iOS 7 Beta 4 Changelog:
Notes and Known Issues
The following issues relate to using iOS SDK 7.0 to develop code.
Address Book Notes
Privacy support for the AddressBookUI framework is reenabled for apps linked against the iOS 7 SDK. Apps linked against older SDKs are not changed. If your app uses any of the Address Book view controllers, you should verify that it still behaves as expected.
AirDrop
Notes
AirDrop in iOS 7 Seed 2 or later is not compatible with AirDrop in iOS 7 Seed 1. Contacts Only support requires that:
You are logged in to iCloud.
The sender and receiver have each other’s Apple ID email addresses in Contacts on their devices.
Known Issues
Contact Only currently requires that you have an active Internet connection.
The App Store should support the ability to find an app capable of opening a received document based on the document’s Uniform Type Identifier (UTI). Currently, just a blank screen is displayed.
AV Foundation Notes
AVCaptureSession now uses your app’s AVAudioSession by default.
Calendar
Fixed in Seed 4
iCloud calendar events may not sync through fetch, push, or manual refresh as expected. iCloud calendars or reminders may be duplicated after adding new events.
Car Display
Known Issues
Support for Car Display will be provided once compatible systems are available.
Contacts

Fixed in Seed 4
Some high-resolution photos will not sync (via iCloud and other services) when set as a Contact’s Caller ID photo.
Core Animation Notes
When the UIViewGroupOpacity key is not present, the default value is now YES. The default was previously NO.
This means that subviews of a transparent view will first be composited onto that transparent view, then the precomposited subtree will be drawn as a whole onto the background. A NO setting results in less expensive, but also less accurate, compositing: each view in the transparent subtree is composited onto what’s underneath it, according to the parent’s opacity, in the normal painter’s algorithm order.
Exchange
Notes
The Exchange DeviceIdentifier has been changed back to the behavior of iOS 6 where it uses the serial number.
Fonts
Notes
Font line heights have changed from previous seeds. If you had previously manually aligned your font, it may move slightly up vertically with this seed.
Foundation Notes
An NSMetadataQuery with ubiquitous scope can now use kMDItemContentTypeTree in predicates. For example:
NSPredicate *p = [NSComparisonPredicate
predicateWithLeftExpression:[NSExpression
expressionForKeyPath:@"kMDItemContentTypeTree"]
rightExpression:[NSExpression
expressionForConstantValue:@"public.rtf"]
modifier: NSAnyPredicateModifier
type:NSLikePredicateOperatorType
options:0];
When called on results returned by queries with ubiquitous scopes, -[NSMetadataItem valueForAttribute:NSMetadataItemDisplayNameKey] now produces the same value as -

[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], matching nonubiquitous queries.
iCloud Notes
If you use iCloud Keychain with recovery, you may see a dialog indicating recovery has been disabled due to a server change. This is intentional. To reenable functionality, follow the instructions in the notification. If you see multiple alerts or observe issues with reenabling recovery, please file a bug report.
iCloud Keychain in iOS 7 Seed 3 or later is not backward compatible with iOS 7 Seed 2 or OS X Mavericks Seed 2.
If you had iCloud Keychain and/or Keychain Restore enabled from iOS 7 Seed 2, both features are disabled upon updating to iOS 7 Seed 3 or later.
After updating to iOS 7 Seed 3 or later, go to Settings > iCloud > Keychain and reenable iCloud Keychain on your devices.
See OS X v10.9 Release Notes for more details.
Activation Lock, a new feature of Find My iPhone, is turned on automatically when Find My iPhone is enabled on any device running iOS 7. Activation Lock requires users to enter their Apple ID and password to turn off Find My iPhone, sign out of iCloud, erase the device, or reactivate the device after an erase. It’s important to do one of the following before transferring a device to a new user:
Sign out of iCloud.
Turn off Activation Lock in Settings > iCloud > Find My iPhone.
Fixed in Seed 4
Users who have a single device with iCloud Keychain on will not be presented with the correct iCloud Keychain setup screens after restoring from a backup.
Users signing out of iCloud by deleting their iCloud account, erasing all contents and settings, or erasing the device via Find My iPhone and signing back in will not be presented with the correct iCloud Keychain setup screens.
Credit cards deleted in Safari Settings > AutoFill are removed from the device, but not from other devices.
Sometimes when you disable iCloud Keychain you may not be able to reenable it.
Keychains are not synced among devices when they are on a wireless network with WEP security.
When setting up iCloud Keychain in Setup Assistant on iPhone 4 and iPhone 4s, the keyboard covers the iCloud Security Code entry field and the Advanced Options link.
Nonpurchased ePubs and PDFs will not be restored when iCloud-restoring an iOS 7 device with a pre-iOS 7 backup. Purchased content will be restored without issue.
Known Issues
Voice Memos are not restored from iCloud Backups.
Workaround: Make sure to sync Voice Memos off of your device before restoring from iCloud.

Users in Switzerland, France, Spain, Germany, Poland, Finland, and possibly some other countries, will be unable to restore their keychains using phone number validation.
Workaround: Use Random Security Code.
MapKit Notes
If the calls to renderInContext on the layer backing an MKMapView are made off the main thread, they should be eliminated or moved to the main thread. Failure to do so can cause an app crash. Instead of using renderInContext, use the new MKMapSnapshotter APIs.
Media
Notes
iOS now remembers the last used media app across reboot and app crashes. Media apps that can receive remote control events should be prepared to be launched in the background and potentially receive a remote control event to begin playback. Additionally, it’s important that media apps monitor and handle the media server reset event, since the media app may receive a remote request to resume playback after a reset. Notifications to monitor these media server events are available in AVAudioSession and proper handling is described in General recommendations for handling kAudioSessionProperty_ServerDied.
Multipeer Connectivity Notes
Many updates to the MCSession APIs are included in this seed. The APIs now function as they were presented at WWDC. Major changes and enhancements include:
The following new method on MCSession has been implemented:
This delegate method has been implemented:
The following new method on MCSession has been implemented:
- (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID
*)peerID error:(NSError **)error
- (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream
withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID
- (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString
*)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError
*error))completionHandler
The delegate method to start receiving a resource from remote peer has been implemented as:
- (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString
The delegate method to finish receiving a resource from remote peer and save the content in a temporary location is implemented as:
MCAdvertiserAssistant is a convenience class for implementing an Advertiser, which handles invitations and connections to an MCSession.
MCSession has a new initWithPeer: method.
sendResource has added “with” to the completionHandler.
The timeout has been removed from connectPeer:withNearbyConnectionData.
For more information on these APIs, watch the video for WWDC 2013 Session 708, “Nearby Networking with Multipeer Connectivity.”
Multitasking
Notes
The policy for the task completion API has changed back to match the iOS 6 behavior, but the time limit for task completion has decreased from 10 minutes in iOS 6.
Networking Fixed in Seed 4
All NSURL session tasks now start suspended rather than running. This allows you to set up their state before the task is started.
Notes
Cellular fallback is a technology that will attempt to connect over the cellular interface when a connection over the Wi-Fi interface does not succeed. There are a number of cases where connection failures may occur over Wi-Fi, such as a cable modem in need of a reboot or a firewall that blocks access to certain resources.
If your app restricts network operations over the cellular network, verify that your code is using the proper API to implement that policy.
For example, if your app watches SCNetworkReachability for the kSCNetworkReachabilityFlagsIsWWAN to monitor when Wi-Fi is available, it may not behave correctly under cellular fallback.
If an app uses this method and then attempts to connect, thinking it will get a connection over Wi-
- (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString
*)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:
(NSError *)error
Note: The app is responsible for moving the file to a permanent location within its sandbox.
*)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress

Fi, the app may inadvertently end up with a connection over the cellular network. The lack of the kSCNetworkReachabilityFlagsIsWWAN is not a guarantee that your connection will not go over cellular. If your code needs to enforce that a connection not go over cellular, it needs to specify that when making a networking request.
Instead, for CFNetwork code using CFSocketStream, CFHTTPStream, or similar APIs, set the kCFStreamPropertyNoCellular property to true on the CF object before connecting.
For NSURLRequests, call [request setAllowsCellularAccess: false].
In addition to making sure that your code will never be connected over cellular because of cellular fallback, this call ensures that your code will never be connected over cellular because of the VPN or convoluted routing problems (connecting to IPv6 over cellular because only IPv4 is available over Wi-Fi, etc.).
To verify that your app is behaving properly, you should test against a broken Wi-Fi network. The easiest way to set up a broken Wi-Fi network is to set up an Apple AirPort Base Station or other Wi- Fi access point to hand out a DHCP address and leave the access point disconnected from the Internet. Another simple way of testing is to unplug the cable or DSL line from your cable or DLS modem.
Two low-level networking APIs that used to return a MAC address now return the fixed value 02:00:00:00:00:00. The APIs in question are sysctl (NET_RT_IFLIST) and ioctl (SIOCGIFCONF). Developers using the value of the MAC address should migrate to identifiers such as -[UIDevice identifierForVendor]. This change affects all apps running on iOS 7.
Objective-C Runtime Notes
Due to changes in how the isa field is implemented, *self may change during enumeration (for example, if the container is retained).
Workaround: When implementing countByEnumeratingWithState, do not set state- >mutationsPtr = self.
Passbook
Notes
As of iOS 7 Seed 4, Passbook has added support for the major and minor fields to better match the rest of the iBeacon ecosystem. The new major and minor keys are independently variable optional alongside proximityUUID (required) in each dictionary in the beacons array.
In previous versions of the iOS SDK, Passbook did not validate the back fields on passes completely. The validation rules have not changed, but validation is now including back fields. Please check the console log for additional logs.
As of iOS 7 Seed 3, PKPassLibraryDidCancelAddPasses is a new status code in the PKPassLibraryAddPassesStatus enum. It signifies that the user tapped Cancel in an add-passes alert.
Safari

Fixed in Seed 4
Safari website credentials do not always autofill between mobile and desktop versions. Workaround: Use the desktop version if the site offers it.
Upgrading to iOS may reset Safari’s settings to their default values.
Security Notes
-[UIDevice uniqueIdentifier] is no longer accepted in submissions to the App Store. In iOS 7, apps that are already on the store or on users’ devices that call this removed API will no longer be returned the UDID. Instead, -[UIDevice uniqueIdentifier] will return a 40-character string starting with FFFFFFFF, followed by the hex value of -[UIDevice identifierForVendor]. It is important to consider how this will affect existing apps. Consider submitting updates that no longer access the UDID.
iOS now requests user consent for apps to use audio input on all iOS 7 devices. For devices sold in China, iOS will also request user consent for apps to use the camera hardware. The operating system will present the consent alert when you set the category of the instantiated AVAudioSession. The AVAudioSession categories that will present the alert are AVAudioSessionCategoryRecord and AVAudioSessionCategoryPlayAndRecord.
If the user doesn’t allow access, the audio session data will be all zeros (silence). For devices where camera access is requested and denied by the user, the video capture session is a black screen.
The API gethostuuid() has been removed and will not be accepted for submission to the store, regardless of the targeted OS. For existing apps running on iOS 7, the function will return a uuid_t representation of the vendor identifier (-[UIDevice identifierForVendor]).
Setup
Known Issue
The setup assistant may crash when setting up a new device with an existing email address.
Workaround: Continue through the setup assistant. Then go to Settings > iCloud and manually enable the services that are off.
Siri
Notes
This seed includes development versions of new male and female Siri voices for U.S. English and French, and a male voice for German.
Social Notes

Through iOS 6, when using TWTweetComposeViewController and SLComposeViewController (the latter only for Twitter and Weibo, but not Facebook), if the caller supplies a completionHandler, the supplied completionHandler is responsible for dismissing the view controller. As of iOS 7, if the app links against the iOS 7 SDK, the view controller will dismiss itself even if the caller supplies a completionHandler. To avoid this, the caller’s completionHandler should not dismiss the view controller.
Known Issue
When using the iOS 6.1 SDK on OS X v10.8 Mountain Lion, if you use the iOS 5.0 or iOS 5.1 Legacy SDK in iOS Simulator, you will not be able to use Twitter features: attempting to sign in to Twitter via the Settings pane will fail, and Twitter.framework will not work correctly. If you need to test Twitter features, you will need to choose either an iOS 6.1 or iOS 6.0 Simulator run destination, or you can test with iOS 5.x on a device.
Springboard
Notes
Active touches are no longer canceled when the user takes a screenshot. Dynamic wallpaper is not available on iPhone 4.
Fixed in Seed 4
Springboard crashes when accessing some web clips in the App Switcher.
When restoring from an iCloud backup on a device with hundreds of apps, Springboard may crash repeatedly.
Passwords with diacritical marks are not supported in this seed. If you have diacritical marks in your password, change it before upgrading to Seed 3 as you will be unable to unlock your device.
Sprite Kit Known Issue
+[AVPlayer playerWithPlayerItem:] returns an AVPlayer object, but the current item will return nil if the player was created on another thread.
Stores
Known Issue
Some iPhone 4 devices are unable to download content from the App Store and the iTunes Store.
Sync
Fixed in Seed 4

The Wi-Fi sync option in iTunes is checked, but Wi-Fi devices do not appear in iTunes.
UIKit
Notes
In previous seeds, the snapshot API (snapshotView and resizableSnapshotViewFromRect:withCapInsets:) would defer taking the snapshot if the view had never been committed or had been added to the view hierarchy in the current transaction. This behavior has changed.
Snapshots now always represent the current, committed state of the view. Attempting to snapshot a view that has never been committed logs a message and now returns nil.
Snapshotting methods have been updated and now take an argument: afterUpdates. When set to YES, this instructs the snapshot to wait until all pending changes to the hierarchy have been committed. To maintain the pre-Seed 4 behavior, pass NO and the snapshot will capture what is currently on screen. See UIView.h for more details.
When there isn’t enough room in the navigation bar layout for the full text of the back button title, the navigation bar will substitute a generic short back title (in English, “Back”). If even that string is too long, the bar will show the back indicator chevron with no title.
+[UIPasteboard pasteboardWithName:create:] and +[UIPasteboard pasteboardWithUniqueName] now unique the given name to allow only those apps in the same application group to access the pasteboard. If the developer attempts to create a pasteboard with a name that already exists and they are not part of the same app suite, they will get their own unique and private pasteboard. Note that this does not affect the system provided pasteboards, general, and find.
Starting with Seed 2, apps default to using the new view controller-based status bar management system. To opt out of this, add a value of NO for the UIViewControllerBasedStatusBarAppearance key to your Info.plist.
When using Auto Layout to position a UIButton, if you set the content compression resistance or content hugging priority to minimum, the button will have ambiguous layout.
Workaround: Don’t use a content compression resistance or content hugging priority of less than 2 for UIButton.
UIScreenEdgePanGestureRecognizer allows you to perform actions in response to swipes over the edge of the screen using the same heuristics that the system uses for its own gestures. Use this if you have a navigation semantic of your own that doesn’t use UINavigationController but should include this gesture (e.g., Safari).
This gesture recognizer has a property that describes the edges on which it’s active. UIRectEdge is a new enum type that this property and -[UIViewController edgesForExtendedLayout] can share. UIRectEdge replaces UIExtendedEdge, which will be removed. The members of both have the same values. Use Xcode to replace all instances of “UIExtendedEdge” in your project with “UIRectEdge”.
UIButtonTypeInfoLight, UIButtonTypeInfoDark, and UIButtonTypeDetailDisclosure buttons all look the same.
Blurred layers are not available on iPhone 4. Parallax is not available on iPhone 4. Letterpress text is not available on iPhone 4.

Fixed in Seed 4
The UIImagePickerController does not show a live preview when using custom overlays. UIPickerView with custom views doesn’t show the views in the selection indicator.
UIRefreshControl and the associated table view are hidden under the navigation bar when setTranslucent: is NO.
IB support for -topLayoutGuide and -bottomLayoutGuide is not functional in this seed. The title of the UIRefreshControl appears below the navigation bar.
Known Issue
Your app’s UI may move slightly after using a media player in landscape mode.
Weather
Notes
Weather conditions are not animated on iPhone 4.
WebKit
Notes
Previously, when the viewport parameters were modified, the old parameters were never discarded. This caused the viewport parameters to be additive.
For example, if you started with width=device-width and then changed it to initial-scale=1.0, you ended up with a computed viewport of width=device-width, initial-scale=1.0.
In iOS 7, this has been addressed. Now you end up with with a computed viewport of initial- scale=1.0.
Previously, when using <meta name=”viewport” content=”initial-scale=1.0, user-scalable=1″>, the scale could be incorrect after rotation.
Now, if a user has not scaled the page explicitly, the page is restored to its initial scale. Also, the current scale is now correctly restricted within the min-scale, max-scale bounds.
Some images for Retina display devices appear at twice the size that they should instead of being scaled down 50%. This issue can also occur with any image to be scaled that is larger than its container and that uses either the background-size property or the -webkit-background-size property. This issue affects both native apps that display web content and web pages viewed in Safari for iPhone.
The background CSS shorthand property now resets the value of the background-size property to auto when background size is not specified. This new behavior is per the CSS spec, and the old behavior is available only for apps linked to an SDK prior to iOS 7.0 when running on iOS 7 or later.
Workaround: Specify the background-size property or the -webkit-background-size property after the background shorthand property in the CSS stylesheet for the web content being displayed.

Known Issue
Web apps and web clips created in previous seeds will not stay in folders across reboot.
Workaround: Delete the old web app or web clip and recreate it in this seed by loading the content in Safari, tapping the Action button, and then “Add to Home Screen.”
Wi-Fi
Notes
This seed introduces changes to AWDL so that technologies that use it—such as AirDrop and the MultiPeerConnectivity APIs—will not work properly with older seeds.
Tuesday, May 14, 2013
Zact: The Reinvented Wireless Carrier
Imagine a wireless carrier that allowed you to build your own plan. Zact, an upstart service provider created by Andreessen Horowitz-backed ItsOn that uses Sprint’s network, has an amazing breakthrough on wireless.
Zact has all no contract plans, so there is no commitment. Just a simple plan, 500 minutes, 1,000 texts, and 1 GB of data will cost just short of $40. At the end of the month, Zact's billing style is much different than that of traditional cell providers. Regular carriers, such as AT&T, Verizon, and Sprint, will charge you for what you paid for, and will send you no notification that you should downgrade or upgrade your plan. Zact automatically goes and looks back at your usage for the past month. It will only charge you for the nearest plan that fits your usage; no extra charges for data/texts/call minutes you didn't use. This is a different business model for cell carriers, actually try and charge the customer as little as possible.
There is only one catch though: Zact only has two Android smartphones (three if you count a color change), and then only one with LTE. None of them are very pretty though. Ting is a slightly more attractive Sprint MVNO, but only because it offers more devices. I am definitely going to be keeping my eye on Zact, they are really onto something.
Tuesday, May 7, 2013
Viber Releases a Desktop App with Video Calling
Viber is taking a stand on app messaging; they are releasing a desktop app for their wildly popular messaging platform. Starting today, Viber’s 200 million+ users will have access to their Viber contacts from both mobile and desktop.
Viber is also releasing new updates to its mobile apps, but the bigger story is the desktop app.
The ambitious company is breaking ground on video calling today; but unfortunately, only from desktop to desktop. Hopefully, mobile to mobile, and then even mobile to desktop will be arriving on the scene soon.
Other than that, the desktop version has just about everything the mobile version has, including messaging, stickers, etc.
To start, you must be a mobile user of Viber, so if you don’t have a number that’s already associated with the service, the desktop app will ask you to download the mobile application. From there, you simply input your number into the desktop app, enter a pin which is sent to your mobile device, and you instantly have access to all the contacts you know on Viber.
All of the Viber apps will sync messages with each other as well. This is yet again another weakness in Apple's iMessage: It doesn't sync. All of these app messaging services are fighting with iMessage as well as regular SMS for market space.
Viber is also taking a leap forward with its mobile apps, but Android and iOS, as always, are the main focus of this mobile updgrade. Both will receive video messages, a new assortment of stickers, a new photo experience, a new voice engine, and then some other minor stuff.
Viber has been growing steadily, announcing growth to 200 million users, up from 175 million in February.
This latest advance really only works for those with multiple devices, but it will be interesting to see how the market responds to this new leap forward in app messaging.