0

CFNetworkで実装されたネットワークを介してデバイス名を送信しようとしています。私のアプリケーションは、シミュレータを介してNSStringを正常に送信しますが、実際のデバイスでは送信しません。クラス参照には、この関数のプロパティが次のように設定されています。

@propertyic,readonly,retain) NSString *name

stringWithFormatとstringByAppendingStringを使用して、使用する予定の最終的な文字列をフォーマットしようとしましたが、どちらの方法でも機能しません。

4

1 に答える 1

3

まず、作成した愚かな名前を送信してみてください。

NSString *nameTest = @"Name of iPad"

これが表示された場合、問題はNSStringの送信ではなく、これは機能していると思います。より、あなたはこれで名前を取得することを知っています

NSString *name = [[UIDevice currentDevice] name];

今あなたが持つことができるバグは次のとおりです:nill名または無効な文字の名前、これは私にとってはうまくいきます:

NSArray *toRemove = [NSArray arrayWithObjects:@"'", @"\"", @"<", @">", nil];
for (NSString *currentChar in toRemove) {
    name = [name stringByReplacingOccurrencesOfString:currentChar 
                                           withString:@""];
}    
if ([name isEqualTo:@""]) name = @"no name";

これが問題かどうかを確認する

于 2011-09-08T17:12:14.733 に答える