Khi tôi lần đầu tiên cài đặt whatsapp trên iphone, khi tôi mở nó, màn hình đầu tiên đã biết vị trí thẻ sim của tôi và hiển thị mã quốc gia. WhatsApp biết điều này như thế nào? Khi táo từ chối tất cả các ứng dụng sử dụng thông tin thẻ sim theo lập trình.Làm thế nào để whatsapp biết mã quốc gia khi chạy lần đầu trên iphone
Trả lời
Đây có phải là những gì bạn đang tìm kiếm không?
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
trong file .h của bạn, bạn cần phải:
#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
Và chức năng này sẽ nhận được mã quốc gia:
-(NSString*)getCountryDialingCode {
NSDictionary *dialingCodes = [[NSDictionary alloc]initWithObjectsAndKeys:
@"972", @"IL",
@"93", @"AF",
@"355", @"AL",
@"213", @"DZ",
@"1", @"AS",
@"376", @"AD",
@"244", @"AO",
@"1", @"AI",
@"1", @"AG",
@"54", @"AR",
@"374", @"AM",
@"297", @"AW",
@"61", @"AU",
@"43", @"AT",
@"994", @"AZ",
@"1", @"BS",
@"973", @"BH",
@"880", @"BD",
@"1", @"BB",
@"375", @"BY",
@"32", @"BE",
@"501", @"BZ",
@"229", @"BJ",
@"1", @"BM", @"975", @"BT",
@"387", @"BA", @"267", @"BW", @"55", @"BR", @"246", @"IO",
@"359", @"BG", @"226", @"BF", @"257", @"BI", @"855", @"KH",
@"237", @"CM", @"1", @"CA", @"238", @"CV", @"345", @"KY",
@"236", @"CF", @"235", @"TD", @"56", @"CL", @"86", @"CN",
@"61", @"CX", @"57", @"CO", @"269", @"KM", @"242", @"CG",
@"682", @"CK", @"506", @"CR", @"385", @"HR", @"53", @"CU",
@"537", @"CY", @"420", @"CZ", @"45", @"DK", @"253", @"DJ",
@"1", @"DM", @"1", @"DO", @"593", @"EC", @"20", @"EG",
@"503", @"SV", @"240", @"GQ", @"291", @"ER", @"372", @"EE",
@"251", @"ET", @"298", @"FO", @"679", @"FJ", @"358", @"FI",
@"33", @"FR", @"594", @"GF", @"689", @"PF", @"241", @"GA",
@"220", @"GM", @"995", @"GE", @"49", @"DE", @"233", @"GH",
@"350", @"GI", @"30", @"GR", @"299", @"GL", @"1", @"GD",
@"590", @"GP", @"1", @"GU", @"502", @"GT", @"224", @"GN",
@"245", @"GW", @"595", @"GY", @"509", @"HT", @"504", @"HN",
@"36", @"HU", @"354", @"IS", @"91", @"IN", @"62", @"ID",
@"964", @"IQ", @"353", @"IE", @"972", @"IL", @"39", @"IT",
@"1", @"JM", @"81", @"JP", @"962", @"JO", @"77", @"KZ",
@"254", @"KE", @"686", @"KI", @"965", @"KW", @"996", @"KG",
@"371", @"LV", @"961", @"LB", @"266", @"LS", @"231", @"LR",
@"423", @"LI", @"370", @"LT", @"352", @"LU", @"261", @"MG",
@"265", @"MW", @"60", @"MY", @"960", @"MV", @"223", @"ML",
@"356", @"MT", @"692", @"MH", @"596", @"MQ", @"222", @"MR",
@"230", @"MU", @"262", @"YT", @"52", @"MX", @"377", @"MC",
@"976", @"MN", @"382", @"ME", @"1", @"MS", @"212", @"MA",
@"95", @"MM", @"264", @"NA", @"674", @"NR", @"977", @"NP",
@"31", @"NL", @"599", @"AN", @"687", @"NC", @"64", @"NZ",
@"505", @"NI", @"227", @"NE", @"234", @"NG", @"683", @"NU",
@"672", @"NF", @"1", @"MP", @"47", @"NO", @"968", @"OM",
@"92", @"PK", @"680", @"PW", @"507", @"PA", @"675", @"PG",
@"595", @"PY", @"51", @"PE", @"63", @"PH", @"48", @"PL",
@"351", @"PT", @"1", @"PR", @"974", @"QA", @"40", @"RO",
@"250", @"RW", @"685", @"WS", @"378", @"SM", @"966", @"SA",
@"221", @"SN", @"381", @"RS", @"248", @"SC", @"232", @"SL",
@"65", @"SG", @"421", @"SK", @"386", @"SI", @"677", @"SB",
@"27", @"ZA", @"500", @"GS", @"34", @"ES", @"94", @"LK",
@"249", @"SD", @"597", @"SR", @"268", @"SZ", @"46", @"SE",
@"41", @"CH", @"992", @"TJ", @"66", @"TH", @"228", @"TG",
@"690", @"TK", @"676", @"TO", @"1", @"TT", @"216", @"TN",
@"90", @"TR", @"993", @"TM", @"1", @"TC", @"688", @"TV",
@"256", @"UG", @"380", @"UA", @"971", @"AE", @"44", @"GB",
@"1", @"US", @"598", @"UY", @"998", @"UZ", @"678", @"VU",
@"681", @"WF", @"967", @"YE", @"260", @"ZM", @"263", @"ZW",
@"591", @"BO", @"673", @"BN", @"61", @"CC", @"243", @"CD",
@"225", @"CI", @"500", @"FK", @"44", @"GG", @"379", @"VA",
@"852", @"HK", @"98", @"IR", @"44", @"IM", @"44", @"JE",
@"850", @"KP", @"82", @"KR", @"856", @"LA", @"218", @"LY",
@"853", @"MO", @"389", @"MK", @"691", @"FM", @"373", @"MD",
@"258", @"MZ", @"970", @"PS", @"872", @"PN", @"262", @"RE",
@"7", @"RU", @"590", @"BL", @"290", @"SH", @"1", @"KN",
@"1", @"LC", @"590", @"MF", @"508", @"PM", @"1", @"VC",
@"239", @"ST", @"252", @"SO", @"47", @"SJ", @"963",
@"SY",@"886",
@"TW", @"255",
@"TZ", @"670",
@"TL",@"58",
@"VE",@"84",
@"VN",
@"284", @"VG",
@"340", @"VI",
@"678",@"VU",
@"681",@"WF",
@"685",@"WS",
@"967",@"YE",
@"262",@"YT",
@"27",@"ZA",
@"260",@"ZM",
@"263",@"ZW",
nil];
CTTelephonyNetworkInfo *network_Info = [CTTelephonyNetworkInfo new];
CTCarrier *carrier = network_Info.subscriberCellularProvider;
NSString *icc = [dialingCodes objectForKey:[carrier.isoCountryCode uppercaseString]];
return icc;
}
* Đây chỉ làm việc cho iPhone với một sim bên
Hai xu của tôi :-) sử dụng Swift 3
Lưu ý: phương pháp này sẽ hoạt động ngay cả khi người dùng không có sim trong iPhone.
Tạo một Property List
tập tin mới IntlDialingCodes.plist
và dán dòng sau:
<?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>ac</key>
<string>247</string>
<key>ad</key>
<string>376</string>
<key>ae</key>
<string>971</string>
<key>af</key>
<string>93</string>
<key>ag</key>
<string>1</string>
<key>ai</key>
<string>1</string>
<key>al</key>
<string>355</string>
<key>am</key>
<string>374</string>
<key>an</key>
<string>599</string>
<key>ao</key>
<string>244</string>
<key>aq</key>
<string>672</string>
<key>ar</key>
<string>54</string>
<key>as</key>
<string>1</string>
<key>at</key>
<string>43</string>
<key>au</key>
<string>61</string>
<key>aw</key>
<string>297</string>
<key>az</key>
<string>994</string>
<key>ba</key>
<string>387</string>
<key>bb</key>
<string>1</string>
<key>bd</key>
<string>880</string>
<key>be</key>
<string>32</string>
<key>bf</key>
<string>226</string>
<key>bg</key>
<string>359</string>
<key>bh</key>
<string>973</string>
<key>bi</key>
<string>257</string>
<key>bj</key>
<string>229</string>
<key>bm</key>
<string>1</string>
<key>bn</key>
<string>673</string>
<key>bo</key>
<string>591</string>
<key>br</key>
<string>55</string>
<key>bs</key>
<string>1</string>
<key>bt</key>
<string>975</string>
<key>bw</key>
<string>267</string>
<key>by</key>
<string>375</string>
<key>bz</key>
<string>501</string>
<key>ca</key>
<string>1</string>
<key>cd</key>
<string>243</string>
<key>cf</key>
<string>236</string>
<key>cg</key>
<string>242</string>
<key>ch</key>
<string>41</string>
<key>ci</key>
<string>225</string>
<key>ck</key>
<string>682</string>
<key>cl</key>
<string>56</string>
<key>cm</key>
<string>237</string>
<key>cn</key>
<string>86</string>
<key>co</key>
<string>57</string>
<key>cr</key>
<string>506</string>
<key>cu</key>
<string>53</string>
<key>cv</key>
<string>238</string>
<key>cy</key>
<string>357</string>
<key>cz</key>
<string>420</string>
<key>de</key>
<string>49</string>
<key>dj</key>
<string>253</string>
<key>dk</key>
<string>45</string>
<key>dm</key>
<string>1</string>
<key>do</key>
<string>1</string>
<key>dz</key>
<string>213</string>
<key>ec</key>
<string>593</string>
<key>ee</key>
<string>372</string>
<key>eg</key>
<string>20</string>
<key>er</key>
<string>291</string>
<key>es</key>
<string>34</string>
<key>et</key>
<string>251</string>
<key>fi</key>
<string>358</string>
<key>fj</key>
<string>679</string>
<key>fk</key>
<string>500</string>
<key>fm</key>
<string>691</string>
<key>fo</key>
<string>298</string>
<key>fr</key>
<string>33</string>
<key>ga</key>
<string>241</string>
<key>gb</key>
<string>44</string>
<key>gd</key>
<string>1</string>
<key>ge</key>
<string>995</string>
<key>gf</key>
<string>594</string>
<key>gh</key>
<string>233</string>
<key>gi</key>
<string>350</string>
<key>gl</key>
<string>299</string>
<key>gm</key>
<string>220</string>
<key>gn</key>
<string>224</string>
<key>gp</key>
<string>590</string>
<key>gq</key>
<string>240</string>
<key>gr</key>
<string>30</string>
<key>gt</key>
<string>502</string>
<key>gu</key>
<string>1</string>
<key>gw</key>
<string>245</string>
<key>gy</key>
<string>592</string>
<key>hk</key>
<string>852</string>
<key>hn</key>
<string>504</string>
<key>hr</key>
<string>385</string>
<key>ht</key>
<string>509</string>
<key>hu</key>
<string>36</string>
<key>id</key>
<string>62</string>
<key>ie</key>
<string>353</string>
<key>il</key>
<string>972</string>
<key>in</key>
<string>91</string>
<key>io</key>
<string>246</string>
<key>iq</key>
<string>964</string>
<key>ir</key>
<string>98</string>
<key>is</key>
<string>354</string>
<key>it</key>
<string>39</string>
<key>ja</key>
<string>81</string>
<key>jm</key>
<string>1</string>
<key>jo</key>
<string>962</string>
<key>jp</key>
<string>81</string>
<key>ke</key>
<string>254</string>
<key>kg</key>
<string>996</string>
<key>kh</key>
<string>855</string>
<key>ki</key>
<string>686</string>
<key>km</key>
<string>269</string>
<key>kn</key>
<string>1</string>
<key>kp</key>
<string>850</string>
<key>kr</key>
<string>82</string>
<key>kw</key>
<string>965</string>
<key>ky</key>
<string>1</string>
<key>kz</key>
<string>7</string>
<key>la</key>
<string>856</string>
<key>lb</key>
<string>961</string>
<key>lc</key>
<string>1</string>
<key>li</key>
<string>423</string>
<key>lk</key>
<string>94</string>
<key>lr</key>
<string>231</string>
<key>ls</key>
<string>266</string>
<key>lt</key>
<string>370</string>
<key>lu</key>
<string>352</string>
<key>lv</key>
<string>371</string>
<key>ly</key>
<string>218</string>
<key>ma</key>
<string>212</string>
<key>mc</key>
<string>377</string>
<key>md</key>
<string>373</string>
<key>me</key>
<string>382</string>
<key>mg</key>
<string>261</string>
<key>mh</key>
<string>692</string>
<key>mk</key>
<string>389</string>
<key>ml</key>
<string>223</string>
<key>mm</key>
<string>95</string>
<key>mn</key>
<string>976</string>
<key>mo</key>
<string>853</string>
<key>mp</key>
<string>1</string>
<key>mq</key>
<string>596</string>
<key>mr</key>
<string>222</string>
<key>ms</key>
<string>1</string>
<key>mt</key>
<string>356</string>
<key>mu</key>
<string>230</string>
<key>mv</key>
<string>960</string>
<key>mw</key>
<string>265</string>
<key>mx</key>
<string>52</string>
<key>my</key>
<string>60</string>
<key>mz</key>
<string>258</string>
<key>na</key>
<string>264</string>
<key>nc</key>
<string>687</string>
<key>ne</key>
<string>227</string>
<key>ng</key>
<string>234</string>
<key>ni</key>
<string>505</string>
<key>nl</key>
<string>31</string>
<key>no</key>
<string>47</string>
<key>np</key>
<string>977</string>
<key>nr</key>
<string>674</string>
<key>nu</key>
<string>683</string>
<key>nz</key>
<string>64</string>
<key>om</key>
<string>968</string>
<key>pa</key>
<string>507</string>
<key>pe</key>
<string>51</string>
<key>pf</key>
<string>689</string>
<key>pg</key>
<string>675</string>
<key>ph</key>
<string>63</string>
<key>pk</key>
<string>92</string>
<key>pl</key>
<string>48</string>
<key>pm</key>
<string>508</string>
<key>pr</key>
<string>1</string>
<key>ps</key>
<string>970</string>
<key>pt</key>
<string>351</string>
<key>pw</key>
<string>680</string>
<key>py</key>
<string>595</string>
<key>qa</key>
<string>974</string>
<key>re</key>
<string>262</string>
<key>ro</key>
<string>40</string>
<key>rs</key>
<string>381</string>
<key>ru</key>
<string>7</string>
<key>rw</key>
<string>250</string>
<key>sa</key>
<string>966</string>
<key>sb</key>
<string>677</string>
<key>sc</key>
<string>248</string>
<key>sd</key>
<string>249</string>
<key>se</key>
<string>46</string>
<key>sg</key>
<string>65</string>
<key>sh</key>
<string>290</string>
<key>si</key>
<string>386</string>
<key>sk</key>
<string>421</string>
<key>sl</key>
<string>232</string>
<key>sm</key>
<string>378</string>
<key>sn</key>
<string>221</string>
<key>so</key>
<string>252</string>
<key>sr</key>
<string>597</string>
<key>st</key>
<string>239</string>
<key>sv</key>
<string>503</string>
<key>sx</key>
<string>1</string>
<key>sy</key>
<string>963</string>
<key>sz</key>
<string>268</string>
<key>tc</key>
<string>1</string>
<key>td</key>
<string>235</string>
<key>tg</key>
<string>228</string>
<key>th</key>
<string>66</string>
<key>tj</key>
<string>992</string>
<key>tk</key>
<string>690</string>
<key>tm</key>
<string>993</string>
<key>tn</key>
<string>216</string>
<key>to</key>
<string>676</string>
<key>tr</key>
<string>90</string>
<key>tt</key>
<string>1</string>
<key>tv</key>
<string>688</string>
<key>tw</key>
<string>886</string>
<key>tz</key>
<string>255</string>
<key>ua</key>
<string>380</string>
<key>ug</key>
<string>256</string>
<key>uk</key>
<string>44</string>
<key>us</key>
<string>1</string>
<key>uy</key>
<string>598</string>
<key>uz</key>
<string>998</string>
<key>va</key>
<string>379</string>
<key>vc</key>
<string>1</string>
<key>ve</key>
<string>58</string>
<key>vg</key>
<string>1</string>
<key>vi</key>
<string>1</string>
<key>vn</key>
<string>84</string>
<key>vu</key>
<string>678</string>
<key>wf</key>
<string>681</string>
<key>ws</key>
<string>685</string>
<key>xt</key>
<string>800</string>
<key>ye</key>
<string>967</string>
<key>za</key>
<string>27</string>
<key>zm</key>
<string>260</string>
<key>zw</key>
<string>263</string>
</dict>
</plist>
Dán lớp sau hoặc chỉ getDialingCode
phương thức trong lớp Helper của bạn, hãy nhớ nhập CoreTelephony
:
import Foundation
import CoreTelephony
class Helper {
static func getDialingCode() {
let countryCode = CTTelephonyNetworkInfo().subscriberCellularProvider?.isoCountryCode ?? Locale.current.regionCode!
let path = Bundle.main.path(forResource: "IntlDialingCodes", ofType: "plist")!
let dict = NSDictionary(contentsOfFile: path)!
if let dialingCode = dict[countryCode.lowercased()] as? String {
print("Dialing code for \"\(countryCode.uppercased())\" is \"+\(dialingCode)\"")
} else {
print("Dialing code for \"\(countryCode.uppercased())\" not found in plist file")
}
}
}
Cách sử dụng:
Helper.getDialingCode()
Đây có phải là chữ thường ISO-3166-1 không? – diegoperini
có, tất cả các mã là 'alpha-2' ISO-3166-1 – AamirR
tắt chữ thường của khóa học :) – AamirR
- 1. WhatsApp biết mã quốc gia của các liên hệ của tôi như thế nào?
- 2. Làm cách nào để biết mã của bạn có đang chạy trên iPhone hay iPhone3G không?
- 3. IOS: mã quốc gia
- 4. Lấy tên quốc gia từ mã quốc gia
- 5. Làm thế nào để biết môi trường mã nào chạy?
- 6. Chuyển đổi Mã Quốc gia thành Tên Quốc gia
- 7. mã quốc gia django Mã tiền tệ
- 8. Cách lấy mã quốc gia và mạng di động trên iPhone
- 9. Xác định quốc gia của người dùng iPhone
- 10. Iphone, Lấy danh sách các quốc gia trong NSArray
- 11. Chuyển đổi tên quốc gia thành Mã quốc gia Viết tắt php
- 12. Làm thế nào để chạy mã ngay khi một ứng dụng C# bắt đầu?
- 13. Nếu bạn có mã quốc gia ISO `US`,` FR`, làm thế nào để bạn lấy mã Locale (`Locale.US`,` Locale.FRANCE`)?
- 14. Làm thế nào để chạy một tập lệnh sau khi Xcode chạy codesign trên ứng dụng iPhone của tôi?
- 15. Phát hiện khi chạy ứng dụng iPhone của ứng dụng iPhone được tải xuống từ App Store của quốc gia nào?
- 16. Làm thế nào để biết khi nào MPMoviePlayerController đã bị tạm dừng trong iPhone?
- 17. Làm cách nào để hiển thị chế độ xem trên lần khởi chạy đầu tiên?
- 18. Làm thế nào để chạy mã bytecode scala trên jvm?
- 19. Có cách nào để biết ngôn ngữ theo mặc định theo quốc gia trên miền địa phương không?
- 20. Làm thế nào để chạy mã ruby của tôi sau khi máy chủ Rails bắt đầu?
- 21. Làm thế nào để chạy mã tùy ý khi bắt đầu shell django?
- 22. lỗi khi chạy cpan lần đầu tiên
- 23. Mã chạy Javascript một lần
- 24. Làm cách nào để xóa "+" và mã quốc gia khỏi số điện thoại?
- 25. Làm thế nào để bạn xử lý tên mã quốc gia TLD trong gói/không gian tên của bạn?
- 26. Làm cách nào để cho biết quốc gia xuất xứ của thẻ tín dụng theo số của nó?
- 27. Lấy mã đơn vị tiền tệ của một quốc gia
- 28. Với đầu bếp, làm thế nào để chạy một di chuyển Rails chỉ một lần?
- 29. Có tồn tại danh sách Mã quốc gia/quốc gia có thể truy cập công khai không?
- 30. Làm thế nào để JVM biết nơi để bắt một ngoại lệ khi chạy?
Nó không lấy từ miền địa phương. Khi tôi thay đổi ngôn ngữ của mình thành một cái gì đó xa tôi và vẫn có mã quốc gia của tôi. – tony9099